提交时间:2024-04-10 13:46:56
运行 ID: 142862
#include<bits/stdc++.h> using namespace std; struct node{ int a , p; } a[100005]; int cmp(node x , node y){ return x.p < y.p; } int main(){ int sum = 0,m , n; cin >> m >> n; for(int i = 1; i <= n; i++)cin >> a[i].p >> a[i].a; sort(a + 1 , a + n + 1 , cmp); for(int i = 1;i <= n;i++){ if(m > 0){ if(m > a[i].a){ m -= a[i].a; sum += a[i].p * a[i].a; } else if(m <= a[i].a){ sum += a[i].p * m; m -= a[i].a; } } } cout << sum; return 0; }