kim剛剛學會c語言中的取模運算(mod)。他想要研究一下乙個數字a模上一系列數後的結果是多少。幫他寫個程式驗證一下。
input
第一行乙個整數t代表資料組數。
接下來t組資料,第一行乙個整數n,接下來n個數字ai
接下來一行乙個整數m,接下來m個數字bi。
output
對於每個bi,輸出bi%a1%a2%...%an 。
sample input
1410 9 5 7
514 8 27 11 25
sample output
43210
hint
在c語言中,a mod b 是 a%b
樣例解釋:
14%10%9%5%7=4
8%10%9%5%7=3
資料範圍:
1<=n<=100000
1<=m<=100000
1<=ai<=1000000000
0<=bi<=1000000000
注意到不斷取模下去會越來越小,而且乙個數模a之後再模b,如果a比b小那麼模b就沒有意義了。所以對輸入的a陣列剔除所有沒用的數,剩下乙個遞減的陣列。在這個陣列上,每次二分找到距離當前x最接近且大於x的數,模上這個數重複這一過程即可。這個過程不會重複很多次。很快這個數就會小於所有的a,這時就獲得了答案。
#include
#include
using namespace std;
int main()
{int t,m,n;
int i,j,left,right,mid;
long long a[100005];
long long ai,bi;
scanf("%d",&t);
while(t--)
{scanf("%d",&n);
j=0;
for(i=0;i
哈理工oj 1073 病毒
description 某種病毒襲擊了某地區,該地區有n 1 n 50000 人,分別編號為0,1,n 1,現在0號已被確診,所有0的直接朋友和間接朋友都要被隔離。例如 0與1是直接朋友,1與2是直接朋友,則0 2就是間接朋友,那麼0 1 2都須被隔離。現在,已查明有m 1 m 10000 個直接朋...
哈理工OJ 2179 深搜
組合 time limit 1000 ms memory limit 32768 k total submit 7 5 users total accepted 6 5 users rating special judge no description 給出乙個正整數n,從集合 中找出所有大小為k的...
哈理工OJ 1584 青蛙過河 貪心 二分
青蛙王國一年一度的遊戲又開始了,這個遊戲要求青蛙必須跳過河。河的寬度是 l 河裡有n塊石頭,這n塊石頭從河的一邊筆直的連到另一邊。青蛙只能踩著石頭過河,如果它們掉到水裡,將被淘汰出局。遊戲規定青蛙最多跳m次。現在青蛙想要知道如果在這m步內跳到岸的那邊,它一步最長需要跳多長。input 輸入包括多組測...