提交时间:2023-11-02 13:41:56

运行 ID: 108368

#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; int 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); 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; }