为什么贪心只得十分(一定要用背包吗
查看原帖
为什么贪心只得十分(一定要用背包吗
1799079
emoye楼主2025/7/27 16:49
#include<bits/stdc++.h>
using namespace std;
long long t,m,jiazhi;
struct yaocai
{
	int sj;
	int jz;
}caiyao[100000];
bool cmp(yaocai x,yaocai y)
{
	return x.jz>y.jz;
}
int main()
{
	cin>>t>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>caiyao[i].sj>>caiyao[i].jz;
	}
	sort(caiyao+1,caiyao+m+1,cmp);
	for(int i=1;i<=m;i++)
	{
		if(caiyao[i].sj>t)
		{
			continue;
		}
		t-=caiyao[i].sj;
		if(t<0)
		{
			break;
		}
		jiazhi+=caiyao[i].jz;
	}
	cout<<jiazhi;
}
2025/7/27 16:49
加载中...