最大收益(貪心策略)
阿新 • • 發佈:2022-03-03
貪心策略練習
題目:
思想:
每次用威力最大的槍打最弱的小怪
解答:
/* ------------------------------------------------- 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; }