https://pintia.cn/problem-sets/994805342720868352/problems/994805435700199424
对于环这种情况,开两倍的数组即可。
#includeusing namespace std; const int N=1e5*2+10; int a[N],s[N],n,m; int main(void) { cin>>n; for(int i=1;i<=n;i++) cin>>a[i],a[i+n]=a[i]; for(int i=1;i<=2*n;i++) s[i]=s[i-1]+a[i]; cin>>m; while(m--) { int l,r; cin>>l>>r; if(l>r) swap(l,r);// 1-5 等价于 5-1 我们默认让l<=r int sum1=s[r-1]-s[l-1]; int sum2=s[l+n-1]-s[r-1]; cout<



