Tuesday, December 8, 2015

UVa 11292 - Dragon of Loowater

// UVa 11292 - Dragon of Loowater

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	int n, m;
	while (cin >> n >> m && (n || m)) {
		int knight[20000], dragon[20000];
		for (int i = 0; i < n; i++)
			cin >> dragon[i];
		for (int j = 0; j < m; j++)
			cin >> knight[j];
		sort(dragon, dragon + n);
		sort(knight, knight + m);
		int j = 0;
		bool possible = true;
		unsigned long long sol = 0;
		for (int i = 0; i < n; i++) {
			if (j == m) {
				possible = false;
				break;
			}
			while (j < m && knight[j] < dragon[i])
				j++;
			if (j < m) {
				sol += knight[j];
				j++;
			}
		}
		if (possible)
			cout << sol << endl;
		else
			cout << "Loowater is doomed!" << endl;
	}
	return 0;
}

No comments:

Post a Comment