1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include<iostream> using namespace std; int min(int x,int y) { if (x>y) return(y); else return(x); } int main() { int n,m,d[100010]={0},sum=0; cin>>n; for(int i=1;i<=n;i++) { cin>>d[i];//d[i]为i到i+1的距离 sum+=d[i]; d[i]+=d[i-1]; } cin>>m; for(int i=1;i<=m;i++) { int a,b,dist=0; cin>>a>>b; if (a>b){int t=b;b=a;a=t;} dist=d[b-1]-d[a-1]; dist=min(dist,sum-dist); cout<<dist<<endl; } system("pause"); return 0; } TIP:
|
PAT1046
最新推荐文章于 2022-07-02 00:14:45 发布