50分求调
  • 板块P2813 母舰
  • 楼主RedDog
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/16 19:44
  • 上次更新2024/8/16 21:54:01
查看原帖
50分求调
1048885
RedDog楼主2024/8/16 19:44

用的贪心算法,代码如下:

#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;
}

求助!!!

2024/8/16 19:44
加载中...