提交时间:2026-04-15 20:06:17
运行 ID: 436468
#include <iostream> using namespace std; 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]; // 冒泡排序防御 for (int i = 0; i < M-1; ++i) for (int j = 0; j < M-1-i; ++j) if (def[j] > def[j+1]) { int t = def[j]; def[j] = def[j+1]; def[j+1] = t; } // 冒泡排序攻击 for (int i = 0; i < N-1; ++i) for (int j = 0; j < N-1-i; ++j) if (atk[j] > atk[j+1]) { int t = atk[j]; atk[j] = atk[j+1]; atk[j+1] = t; } int d = 0, a = 0; while (d < M && a < N) { if (atk[a] > def[d]) { d++; a++; } else a++; } int sum = 0; if (d >= M) for (int i = a; i < N; ++i) sum += atk[i]; cout << sum; return 0; }