提交时间:2026-04-13 19:22:21
运行 ID: 436380
#include <bits/stdc++.h> using namespace std; struct song { long long a, b; } s[100005]; bool cmp(const song& x, const song& y) { return (x.a - x.b) > (y.a - y.b); } int main() { int n; long long m; cin >> n >> m; long long sumA = 0; for (int i = 0; i < n; i++) { cin >> s[i].a >> s[i].b; sumA += s[i].a; } if (sumA <= m) { cout << 0 << endl; return 0; } sort(s, s + n, cmp); int cnt = 0; for (int i = 0; i < n; i++) { sumA -= (s[i].a - s[i].b); cnt++; if (sumA <= m) { cout << cnt << endl; return 0; } } cout << -1 << endl; return 0; }