| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 436416 | 顾鑫辰 | 【C6-7】母舰 | C++ | 解答错误 | 10 | 42 MS | 1040 KB | 919 | 2026-04-14 16:52:52 |
#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; long long damage = 0; // 贪心:用最小的攻击破最小的防御 while (i < m && j < n) { if (atk[j] > def[i]) { // 破防成功 i++; j++; } else { // 破不了,跳过这个攻击 j++; } } // 剩下所有攻击全部打本体 while (j < n) { damage += atk[j]; j++; } cout << damage << endl; return 0; }