用的贪心算法,代码如下:
#include <bits/stdc++.h>
using namespace std;
int enemy[100000],self[100000],m,n;
void work(){
cin >> m >> n;
for(int i=1;i<=m;i++) cin >> enemy[i];
for(int j=1;j<=n;j++) cin >> self[j];
sort(enemy+1,enemy+1+m);
sort(self+1,self+1+n);
int p=1;
int ans = 0;
for(int i=1;i<=n;i++){
if(enemy[p]==0) p++;
if(self[i]>enemy[p]){
self[i] = 0;
p++;
}
}
if(p<=m){
cout << 0;
return;
}
for(int i=1;i<=n;i++) ans += self[i];
cout << ans;
}
int main()
{
work();
return 0;
}
求助!!!