Codeforces Round 840题解(A、B、C)
A. Absolute Maximization
我们可以选择两个位置
int n;
int a[550];
void solve() {
cin >> n;
for (int i = 1; i <= n; i ++) {
cin >> a[i];
}
int max_v = 0, min_v = 1023;
for (int r = 9; r >= 0; r --) {
for (int i = 1; i <= n; i ++) {
if (a[i] >> r & 1) {
max_v |= 1 << r;
}
else {
min_v &= ~(1 << r);
}
}
}
cout << max_v - min_v << '\n';
}
B. Incinerate
将怪物按照
当某一次
模拟这个过程,最坏情况是
int n, k;
PII a[N];
int min_v[N];
void solve() {
cin >> n >> k;
for (int i = 1; i <= n; i ++) {
cin >> a[i].first;
}
for (int i = 1; i <= n; i ++) {
cin >> a[i].second;
}
sort(a + 1, a + 1 + n);
min_v[n + 1] = INF;
for (int i = n; i >= 1; i --) {
min_v[i] = min(min_v[i + 1], a[i].second);
}
// for (int i = 1; i <= n; i ++) {
// cout << min_v[i] << ' ';
// }
// cout << '\n';
int cur = k;
while (1) {
int pos = lower_bound(a + 1, a + 1 + n, PII(cur + 1, 0)) - a - 1;
// cout << pos << '\n';
if (pos >= n) {
cout << "YES" << '\n';
return;
}
int cnt = k - min_v[pos + 1];
// cout << cnt << '\n';
cur += cnt;
k = cnt;
if (cnt <= 0) {
cout << "NO" << '\n';
return;
}
}
}
C. Another Array Problem
有点恶心的一道题,我最后
观察到如果最大值所在位置左边或者右边有
例如:
实际上,如果最大值所在位置左边或右边有
例如:
那么就只剩下两种特别情况了,当
当比较恶心,我们注意到在换的过程中出现在最左边或者最右边的数都可以被用来覆盖整个数组。我们可以发现出现在左边的数最大是蒟蒻想不出来,想出来也表达不清楚啊。。。
int n;
int a[M];
void solve() {
cin >> n;
int max_v = 0;
for (int i = 1; i <= n; i ++) {
cin >> a[i];
max_v = max(max_v, a[i]);
}
vector<int> bag;
for (int i = 1; i <= n; i ++) {
if (a[i] == max_v) {
bag.push_back(i);
}
}
int ans = 0;
for (int i = 1; i <= n; i ++) {
ans += a[i];
}
if (n == 2) {
cout << max(ans, abs(a[1] - a[2]) * 2) << '\n';
return;
}
if (n >= 4) {
cout << n * max_v << '\n';
return;
}
if (a[1] == max_v || a[3] == max_v) {
cout << n * max_v << '\n';
return;
}
cout << max(ans, max({a[2] - a[1], a[2] - a[3], a[1], a[3]}) * 3) << '\n';
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY