#include<iostream>#include<algorithm>//使用min,max函數#include<vector>using namespace std;int main(void){	//freopen("in.txt", "r", stdin);	int N, total = 0;	scanf("%d", &N);	vector<int> ev(N + 1, 0);//保存兩點間的距離	vector<int> acc(N + 1, 0);//保存起點到當前點的距離	for (int i = 1; i <= N; i++)	{		acc[i] = total;		scanf("%d", &ev[i]);		total += ev[i];	}	int M, sta, end;//分別為所求問題個數, 起始點,末點。	int lnum, gnum;//分別表示兩點較小的和較大的序號	scanf("%d", &M);	for (int i = 0; i < M; i++)	{		scanf("%d %d", &sta, &end);		lnum = min(sta, end);		gnum = max(sta, end);		int sum = acc[gnum] - acc[lnum];		int min_dist = sum > (total / 2) ? (total-sum) : sum;		printf("%d/n", min_dist);	}	return 0;}
新聞熱點
疑難解答