首页 > 学院 > 开发设计 > 正文

1046. Shortest Distance (20)

2019-11-08 20:11:20
字体:
来源:转载
供稿:网友

一个环的话,只要求出一段,然后sum-这一段,就是另一端距离。

#include<iostream>using namespace std;int main(){ int sum = 0; #define MAX 100010 int arc[MAX]; int N; cin >> N; arc[0] = 0; arc[1] = 0; for (int t = 2;t <= N+1;t++) { int x; cin >> x; arc[t] = arc[t - 1] + x; sum +=x; } int M; cin >> M; for (int t = 0;t < M;t++) { int i, j, temp, min; cin >> i >> j; temp = i > j ? i : j; if (temp == i) { i = j; j = temp; } int a = arc[j] - arc[i]; min = a >= sum - a ? sum - a : a; cout << min << endl; }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表