#include <algorithm> #include <iostream> #include <string> #include <vector> using namespace std; struct S{ int a, b; }; bool cmp(S a,S b){ if(a.a == b.a) return a.b > b.b; else return a.a < b.a; } int main(void) { int n, m; cin >> n >> m; vector<S> s(m); for (int i = 0; i < m;i++){ cin >> s[i].a >> s[i].b; } sort(s.begin(), s.end(), cmp); for (int i = 0; i < m;i++){ if(n >= s[i].a) n += s[i].b; else break; } cout << n << endl; } |
Double click to view unformatted code.