浙大PAT 1046题 1046. Shortest Distance

来源:互联网 发布:手机标尺软件 编辑:程序博客网 时间:2024/05/20 16:42

题目由于数据量比较大,还是要想一下的,代码如下。

#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;}



0 0
原创粉丝点击