一个环的问题,分两份。
#include<iostream>
#include<cstdio>
#include<algorithm>
#define maxn 100005
using namespace std;
int n,m;
int dist[maxn];
int sum=0;
int d;
int main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++)
{
int temp;
cin>>temp;
sum+=temp;
dist[i]=sum;
}
cin>>m;
while(m--)
{
int t1,t2;
cin>>t1>>t2;
if(t1>t2)
swap(t1,t2);
d=dist[t2-1]-dist[t1-1];
cout<<min(d,sum-d)<<endl;
}
}