您的位置:首页 > 理论基础 > 计算机网络

【2016-大连赛区网络赛-H】优化(Function,hdu 5875)

2016-09-11 22:41 513 查看
http://www.cnblogs.com/wt20/p/5861613.html




#include<bits/stdc++.h>
#define maxn 100010
using namespace std;

typedef long long ll;

ll A[maxn];
ll Next[maxn];
ll N;

int main()
{
ll T;
scanf("%I64d",&T);
while(T--)
{
scanf("%I64d",&N);
for(ll i=1;i<=N;i++)
scanf("%I64d",&A[i]);
for(ll i=1;i<=N;i++)
{
ll j;
for(j=i+1;j<=N;j++)
if(A[j]<=A[i])
break;
Next[i]=j;
}
ll Q;
scanf("%I64d",&Q);
ll l,r;
while(Q--)
{
scanf("%I64d %I64d",&l,&r);
ll cur=l+1;
ll ans=A[l];
while(cur<=r)
{
ans%=A[cur];
cur=Next[cur];
}
printf("%I64d\n",ans);
}
}
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: