A good idea excels everything.WA twice before finding my original idea is wrong,It's a good experience,I need to think sufficiently;
// 1046. Shortest Distance.cpp: 主项目文件。
#include "stdafx.h"
#include <cstdio>
const int N=100003;
int dist[N],sDist[N];
int main()
{
int n,sum=0;
scanf("%d",&n);
sDist[0]=0;
for(int i=1;i<=n;i++){
scanf("%d",dist+i);
sDist[i]=sDist[i-1]+dist[i];
sum+=dist[i];
}
int num;
scanf("%d",&num);
while(num--){
int u,v;
scanf("%d%d",&u,&v);
if(u>v){
int temp=u;
u=v;v=temp;
}
int curSum=sDist[v-1]-sDist[u-1];
if(sum-curSum>curSum)
printf("%d\n",curSum);
else
printf("%d\n",sum-curSum);
}
return 0;
}