题目号:P1890 gcd区间
编译信息:TLE
代码(80分):
#include<bits/stdc++.h>
using namespace std;
const int N=100000005;
int arr[N];
int gcd(int a,int b){
if(b==0){
return a;
}return gcd(b,a%b);
}
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>arr[i];
}
int l,r;
for(int i=1;i<=m;i++){
cin>>l>>r;
int n1=arr[l];
for(int j=l;j<r;j++){
n1=gcd(n1,arr[j+1]);
}
cout<<n1<<endl;
}
return 0;
}