用画图工具画画线段就能明显看出来
#include<cstdio>
#include<stack>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<math.h>
using namespace std;
__int64 shu[100010];
int main(){
// freopen("G://test.txt","r",stdin);
int t;
int n,m;
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&m);
shu[0]=0;
for(int i=1;i<n;++i){
scanf("%I64d",&shu[i]);
shu[i]=shu[i-1]+shu[i];
}
for(int i=0;i<m;++i){
int x;
int y;
scanf("%d %d",&x,&y);
__int64 sum=0;
int now=(i)%n+1;
if(y>x){
if(now>x){
sum=shu[n-1]-shu[now-1]+shu[n-1]+shu[y-1];
}
else{
sum=shu[y-1]-shu[now-1];
}
}
else{
sum=shu[n-1]-shu[now-1]+shu[n-1]-shu[y-1];
}
printf("%I64d\n",sum);
}
}
return 0;
}