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;
}