Cod sursa(job #2236646)

Utilizator mircearoataMircea Roata Palade mircearoata Data 30 august 2018 10:38:28
Problema Heavy metal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream in("heavymetal.in");
ofstream out("heavymetal.out");

int n;
struct concert
{
    int a, b;
} v[100001];

int d[100001], maxx;

int main()
{
    in >> n;
    for(int i = 1; i <= n; i++)
        in >> v[i].a >> v[i].b;
    sort(v + 1, v + n + 1, [](const concert & l, const concert & r){return (l.a == r.a)?(l.b < r.b):(l.a < r.a);});
    for(int i = 1; i <= n; i++)
    {
        d[i] = v[i].b - v[i].a;
        for(int j = i - 1; j >= 1; j--)
            if(v[j].b <= v[i].a)
            {
                d[i] = max(d[i],v[i].b - v[i].a + d[j]);
                if(d[i] > maxx)
                    maxx = d[i];
                break;
            }
    }
    out << maxx;
    return 0;
}