Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
436424 顾鑫辰 【C6-7】母舰 C++ 解答错误 10 53 MS 1048 KB 999 2026-04-14 16:57:46

Tests(1/10):


#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int m, n; cin >> m >> n; vector<int> def(m); vector<int> atk(n); for (int i = 0; i < m; i++) cin >> def[i]; for (int i = 0; i < n; i++) cin >> atk[i]; // 排序 sort(def.begin(), def.end()); sort(atk.begin(), atk.end()); // 双指针:最小攻击破最小防御,判断能不能破完所有防御 int i = 0, j = 0; while (i < m && j < n) { if (atk[j] > def[i]) { i++; j++; } else { j++; } } // 如果没能破完所有防御,伤害为 0 if (i < m) { cout << 0 << endl; return 0; } // 破完防御后,剩下的所有攻击总和就是答案 long long damage = 0; for (int k = j; k < n; k++) { damage += atk[k]; } cout << damage << endl; return 0; }


测评信息: