1. 程式人生 > 其它 >最大收益(貪心策略)

最大收益(貪心策略)

貪心策略練習

題目:

思想:

每次用威力最大的槍打最弱的小怪

解答:

/*
-------------------------------------------------
   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; }