社区讨论
请问有什么错吗?为何第六个点过不了???
P1208[USACO1.3] 混合牛奶 Mixing Milk参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mi6lf510
- 此快照首次捕获于
- 2025/11/20 06:47 4 个月前
- 此快照最后确认于
- 2025/11/20 06:47 4 个月前
CPP
#include<iostream>
#include<algorithm>
using namespace std;
long long n,m,ta,tp;
struct milk
{
long long p,a;
}mi[90000];
int cmp(milk g,milk h)
{
return g.p<h.p||g.p==h.p&&g.a>=h.a;
}
int main()
{
cin>>n>>m;
if(n==0)
{
cout<<"0"<<endl;
return 0;
}
for(int i=0;i<m;i++)
cin>>mi[i].p>>mi[i].a;
sort(mi,mi+m,cmp);
for(int i=0;i<m;i++)
{
if(ta+mi[i].a<=n)
{
ta+=mi[i].a;
tp+=mi[i].a*mi[i].p;
}
else
{
tp+=(n-ta)*mi[i].p;
ta=n;
}
}
cout<<tp<<endl;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...