| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 436419 | 顾鑫辰 | 【C6-7】母舰 | C++ | 解答错误 | 0 | 40 MS | 1036 KB | 809 | 2026-04-14 16:54:59 |
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int m, n; cin >> m >> n; vector<int> defense(m); vector<int> attack(n); for (int i = 0; i < m; i++) { cin >> defense[i]; } for (int i = 0; i < n; i++) { cin >> attack[i]; } sort(defense.begin(), defense.end()); sort(attack.begin(), attack.end()); int d = 0, a = 0; long long ans = 0; while (a < n) { // 还有防御没破,且当前攻击能破防 if (d < m && attack[a] > defense[d]) { d++; } else { // 破不了防 或者 防御已经全破,算伤害 ans += attack[a]; } a++; } cout << ans << endl; return 0; }