题目由于数据量比较大,还是要想一下的,代码如下。
#include<stdio.h> int arr[100005]; int sum[100005]; int main(){ int i,j,n,m; scanf("%d",&n); sum[0]=0; for(i=1;i<=n;i++){ scanf("%d",&arr[i]); sum[i]=sum[i-1]+arr[i]; } scanf("%d",&m); int s,e,t; int ra,rb; for(i=0;i<m;i++){ scanf("%d %d",&s,&e); if(s>e){ t=s; s=e; e=t; } ra=sum[e-1]-sum[s-1]; rb=sum[n]-ra; if(ra<rb) printf("%d\n",ra); else printf("%d\n",rb); } return 0; }