玄关,求调
  • 板块P1899 魔法物品
  • 楼主_XiAo__
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/23 16:35
  • 上次更新2023/12/23 19:23:31
查看原帖
玄关,求调
1030553
_XiAo__楼主2023/12/23 16:35

RT,这题折磨我半天了,实在调不出来

#include<bits/stdc++.h>
#define int long long
using namespace std;
char ch;
int n,p,m,mid,mid2,submagic;
struct item
{
	int magic;
	int normle;
};
bool ok(item a,item b)
{
	return a.magic-a.normle<b.magic-b.normle;
}
item s[100005];
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	scanf("%lld%lld",&n,&p);
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&mid);
		if(getchar()!=32)m+=mid;
		else
		{
			scanf("%lld",&mid2);
			if(mid2-mid<p)m+=mid;
			else
			{
				submagic++;
				s[submagic].magic=mid2;
				s[submagic].normle=mid;
			}
		}
	}
	sort(s+1,s+submagic+1,ok);
	for(int i=1;i<=submagic;i++)
	{
		if(m>=p)m=m+s[i].magic-p;
		else m+=s[i].normle;
	}
	cout<<m;
    return 0;
}
2023/12/23 16:35
加载中...