社区讨论

90pts求调

P11213【MX-J8-T1】竹竿参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@m2h7ent9
此快照首次捕获于
2024/10/20 14:25
去年
此快照最后确认于
2025/11/04 16:43
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;

//分开求,使两端分别最长
struct NODE {
	int a, b;//使b<a/2
	int id;
} e[100010];

bool cmp(NODE a, NODE b) {
	return a.a - a.b > b.a - b.b; // 使有序
}
ll ans = 0;
int ma1, ma2;

int main() {
//	freopen("bamboo4.in", "r", stdin);
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) {
		int x, y, z = i;
		scanf("%d%d", &x, &y);
		if (2 * y > x) {
			y = x - y;
		}
		e[i] = {x, y, z};
	}
	sort(e + 1, e + n + 1, cmp);
//	for (int i = 1; i <= n; i++) {
//		for (int j = i + 1; j <= n; j++) {
////          e[i]-a-e[i].b > e[i].b一定成立
//			ans = max(0ll + e[i].a - e[i].b + e[j].a - e[j].b, ans);
//		}
//	}
	cout << e[1].a - e[1].b + e[2].a - e[2].b << endl;
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...