社区讨论

求dalao帮看一下,最后两个点WA了QAQ

P1208[USACO1.3] 混合牛奶 Mixing Milk参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mi6yq68r
此快照首次捕获于
2025/11/20 13:00
4 个月前
此快照最后确认于
2025/11/20 13:00
4 个月前
查看原帖
CPP
#include<cstdio>
#include<algorithm>
using namespace std;
const int MAXN=2000001;
typedef long long ll;
int n;
ll s,ans=0;
struct node
{
	ll w;
	ll num;
}a[MAXN];
bool cmp(node x,node y)
{
	return x.w<y.w;
}
int main()
{
	freopen("text.in","r",stdin);
	freopen("text.out","w",stdout);
	scanf("%lld %d\n",&s,&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%lld %lld\n",&a[i].w,&a[i].num);
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		if(s-a[i].num>=0)
		{
			ans+=a[i].w*a[i].num;
			s-=a[i].num;
		}
		else
		{
			if(s>0)
				ans+=(a[i].num-s)*a[i].w;
			break;
		}
	}
	printf("%lld ",ans);
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...