View Code of Problem 4048

#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.


Back to problem 4048