社区讨论

请问有什么错吗?为何第六个点过不了???

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 条回复,欢迎继续交流。

正在加载回复...