#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n,i;
cin>>n;
int d[n+1];
int sum[n+1];
sum[1]=0;//1~1的距离为0
for(i=1;i<n;i++){
scanf("%d",&d[i]);
sum[i+1]=sum[i]+d[i];//sum[i]记录i节点到1节点的正向距离
}
scanf("%d",&d[i]);
sum[0]=sum[i]+d[i];//整个环路的和
int m;
cin>>m;
while(m--){
int s,e,dis=0;
scanf("%d%d",&s,&e);
if(s>e){
swap(s,e);
}
dis=sum[e]-sum[s];
if(dis>sum[0]-dis) dis=sum[0]-dis;
printf("%d\n",dis);
}
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-676995.html