谢谢网络上的大大写的思路,很清晰:
网上大佬思路直达
#include<cstdio>
#include<algorithm>
using namespace std;
int main(){
int n;
int a[100010],b[100010],sum=0;//尼玛 不开到这么大,就运行错误,答案错误
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%d",&a[i]);//记得&
sum+=a[i];
b[i]=sum;
}
int t,start,end;
scanf("%d",&t);
while(t--){
scanf("%d %d",&start,&end);
if(end<start) swap(end,start);//交换顺序
int shun=b[end-1]-b[start-1];//理清楚,谁减谁
int ni=sum-shun;
if(shun>ni) printf("%d\n",ni);
else printf("%d\n",shun);
}
return 0;
}