Cod sursa(job #1981999)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 17 mai 2017 15:28:03
Problema Heavy metal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ("heavymetal.in");
ofstream g ("heavymetal.out");
int n,d[1000001],sol;
struct usu
{
    int a,b;
}v[100003];
bool cmp(usu t1,usu t2)
{
    if(t1.b>t2.b) return 0;
    if(t1.b==t2.b&&t1.a>t2.a) return 0;
    return 1;
}
int main()
{
    f>>n;
    for(int i=1;i<=n;++i) f>>v[i].a>>v[i].b;
    sort(v+1,v+n+1,cmp);
    for(int i=1;i<=n;++i)
    {
        bool ok=0;
        if(!d[v[i].a]) ok=1;
        d[v[i].b]=max(d[v[i].b],d[v[i].a]+v[i].b-v[i].a+ok);
        sol=max(sol,d[v[i].b]);
    }
    g<<sol;
    return 0;
}