社区讨论

How A?

学术版参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@milshlue
此快照首次捕获于
2025/11/30 22:02
3 个月前
此快照最后确认于
2025/11/30 22:04
3 个月前
查看原帖
CPP
#include <bits/stdc++.h>
#define int long long
using namespace std;

using i32 = int32_t;
using i64 = int64_t;
using ui32 = uint32_t;
using ui64 = uint64_t;

namespace strdp {
	int a[10];
	void main() {
		int s = 0;
		for (int i = 1; i <= 9; i++) cin >> a[i], s += a[i];
		for (int i = 1; i <= 4; i++) {
			if (a[i] + a[10 - i] == s) {
				cout << 1 << "\n";
				return;
			}
		}
		// 对于每个 a_i+a_{10-i}=10,中间插入一些值
		// corner case: 5  
		// 若有 a_5 个 5,则需插入 a_5-1 个数
		// 把已有的数插进去 
		
		// corner case
		
		cout << max(a[5] - 1 - (s - a[5]), 0ll) << "\n";
	}
}

i32 main() {
	
	int t = 1;
	cin >> t;

	while (t--) strdp::main();
	return 0;
}

回复

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

正在加载回复...