1 条题解

  • 3
    @ 2025-11-18 13:06:15

    这题比较**,在这我就不说其他的了,直接看代码:

    #include <bits/stdc++.h>

    using namespace std;

    struct mi{

    long long a,b;
    

    }a[5010];

    long long n,m,k;

    bool cmp(mi a,mi b){

    return a.a<b.a; 
    

    }

    int main(){

    cin>>m>>n;
    
    for(int i=1;i<=n;i++){
    
    	cin>>a[i].a>>a[i].b;
    
    }
    
    sort(a+1,a+n+1,cmp);
    
    for(int i=1;i<=n;i++){
    
    	if(m>=a[i].b){
    
    		m-=a[i].b;
      
    		k+=a[i].b*a[i].a;
      
    	}
    
    	else{
    
    		k+=a[i].a*m;
      
    		break;
      
    	}
    
    }
    
    cout<<k;
    
    return 0;
    

    }

    • 1

    信息

    ID
    963
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    (无)
    递交数
    379
    已通过
    130
    上传者