浙大PAT 1046題 1046. Shortest Distance

題目由於數據量比較大,還是要想一下的,代碼如下。

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



發佈了85 篇原創文章 · 獲贊 22 · 訪問量 66萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章