大意略。
#include <iostream> #include <cstdlib> #include <cstdio> #include <string> #include <cstring> #include <cmath> #include <vector> #include <queue> #include <stack> #include <algorithm> #include <cctype> using namespace std; const int maxn = 20010; int A[maxn], B[maxn]; int n, m; int read_case() { scanf("%d%d", &n, &m); if(!n && !m) return 0; for(int i = 0; i < n; i++) scanf("%d", &A[i]); for(int i = 0; i < m; i++) scanf("%d", &B[i]); return 1; } void solve() { if(n > m) { printf("Loowater is doomed!\n"); return ; } sort(A, A+n); sort(B, B+m); int ans = 0, c = 0; for(int i = 0; i < m; i++) { if(B[i] >= A[c]) { ans += B[i]; c++; if(n == c) break;} } if(n == c) printf("%d\n", ans); else printf("Loowater is doomed!\n"); } int main() { while(read_case()) { solve(); } return 0; }