提交时间:2026-04-15 19:59:08

运行 ID: 436461

#include <iostream> #include <algorithm> using namespace std; bool cmp(int a, int b) { return a > b; } int main() { int M, N; cin >> M >> N; int def[1005], atk[1005]; for (int i = 0; i < M; i++) cin >> def[i]; for (int i = 0; i < N; i++) cin >> atk[i]; // 从大到小排序 sort(def, def + M, cmp); sort(atk, atk + N, cmp); 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; } else { // 剩下攻击全部打本体 int sum = 0; for (int k = j; k < N; k++) sum += atk[k]; cout << sum << endl; } return 0; }