社区讨论

为什莫有一个点老是访问无效内存

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

讨论操作

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

当前回复
7 条
当前快照
1 份
快照标识符
@lypm4nuj
此快照首次捕获于
2024/07/17 17:01
2 年前
此快照最后确认于
2025/11/18 18:17
4 个月前
查看原帖
CPP
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long sum,sumj,n;
struct re
{
    long long s,j;
};
struct re a[500009];
int myway(struct re a,struct re b)
{
    if(a.j==b.j)
       return a.s>=b.s;
     else  
    return a.j<b.j;
}
int main()
{
    cin>>sum>>n;
    for(int i=1;i<=n;i++)
      scanf("%d%d",&a[i].j,&a[i].s);
    sort(a+1,a+n+1,myway); 
    for(int i=1;i<=n;i++)
    if(sum==0) break;
     else
       if(sum>=a[i].s)
        {
         sum-=a[i].s;
         sumj+=a[i].s*a[i].j;
        } 
         else
           if(sum<a[i].s)
            {
              sumj+=sum*a[i].j;
              sum=0;
            }
    cout<<sumj;
    return 0;        
}
求大神犇指点啊

回复

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

正在加载回复...