现在的位置: 首页 > 综合 > 正文

浙大PAT 1046题 1046. Shortest Distance

2018年02月06日 ⁄ 综合 ⁄ 共 362字 ⁄ 字号 评论关闭

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

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

抱歉!评论已关闭.