贪心过了,求hack
查看原帖
贪心过了,求hack
649451
wuyuhann123456789楼主2024/11/28 15:05
#include<iostream>
#include<string>
#include<algorithm>
struct item
{
	int a,b,c;
	std::string name;
}it[110];
int val[110];
bool cmp(int a,int b)
{
	return a>b;
}
int main()
{
	int m,n;
	std::cin>>m>>n;
	int sum=0;
	for(int i=1;i<=n;i++)
	{
		item x;
		std::cin>>x.a>>x.b>>x.c>>x.name;
		bool flag=1;
		for(int j=1;j<=sum;j++)
			if(it[j].name==x.name)
			{
				flag=0;
				it[j].a+=x.a;
				break;
			}
		if(flag)
			it[++sum]=x;
	}
	for(int i=1;i<=sum;i++)
	{
		if(it[i].a>it[i].c)
			it[i].a=it[i].c;
		val[i]=it[i].a*it[i].b;
	}
	std::sort(val+1,val+1+sum,cmp);
	int ans=0;
	int len=21-m;
	if(sum<len)
		len=sum;
	for(int i=1;i<=len;i++)
		ans+=val[i];
	printf("%d",ans);
	return 0;
}
2024/11/28 15:05
加载中...