额,到家了,紫书没带,先开始看指南吧。
指南例题第一道,简单贪心。
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define MAXN 20010 using namespace std; int ants[MAXN][5]; int main() { #ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); #endif // ONLINE_JUDGE int n, m; int A[MAXN], B[MAXN]; while(scanf("%d%d", &n, &m)&& n) { memset(A, 0, sizeof(A)); memset(B, 0, sizeof(B)); for(int i = 0; i < n; i++) cin >> A[i]; for(int i = 0; i < m; i++) cin >> B[i]; int cur = 0, cost = 0; sort(A, A + n); sort(B, B + m); for(int i = 0; i < m; i++) { if(B[i] >= A[cur]) { cost += B[i]; cur++; } if(cur == n) break; } cur == n ? cout << cost << endl : cout << "Loowater is doomed!" << endl; } return 0; }