最大收益(贪心策略)
题目:

思想:
每次用威力最大的枪打最弱的小怪
解答:
/* ------------------------------------------------- Author: wry date: 2022/3/1 17:10 Description: test ------------------------------------------------- */ #include <bits/stdc++.h> using namespace std; const int MAXN = 1000+10; int gun[MAXN]; int monster[MAXN]; bool compare(int &a,int &b) { return a>b; } int main() { int caseNumber; int n,m; //n个枪,m个怪 cin >> caseNumber; while (caseNumber--) { cin >> n >> m; for (int i=0;i<n;i++) { cin >> gun[i]; } for (int i=0;i<m;i++) { cin >> monster[i]; } sort(gun,gun+n,compare); //从大到小 sort(monster,monster+n); //从小到大 int i=0; int money=0; while (i<n && i<m) { if (gun[i]-monster[i]<=0) { break; } else { money += gun[i]-monster[i]; i++; } } cout << money << endl; } return 0; }

浙公网安备 33010602011771号