提交时间:2026-04-14 16:56:21

运行 ID: 436422

#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 d = 0, a = 0; long long damage = 0; while (a < n) { // 还有防御没破,并且当前攻击能破防 if (d < m && atk[a] > def[d]) { d++; } else { damage += atk[a]; } a++; } cout << damage << endl; return 0; }