Cod sursa(job #2368300)

Utilizator darisavuSavu Daria darisavu Data 5 martie 2019 15:21:00
Problema Heavy metal Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <algorithm>
using namespace std;
struct punct
{
    int x,y;
}a[100005];
int n,i,j,v[100005],mx,mx1;
int compar(punct a,punct b)
{
    return ((a.x<b.x)||(a.x==b.x&&a.y<b.y));
}
ifstream f("heavymetal.in");
ofstream g("heavymetal.out");
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>a[i].x>>a[i].y;
    }
    sort(a+1,a+n+1,compar);
    v[n]=a[n].y-a[n].x;
    for(i=n-1;i>=1;i--)
    {
        mx=0;
        for(j=i;j<=n;j++)
        {
            if(a[i].y<=a[j].x)
            {
                if(v[j]>=mx) mx=v[j];
            }
        }
        v[i]+=a[i].y-a[i].x+mx;
    }
    for(i=1;i<=n;i++) if(v[i]>mx1) mx1=v[i];
    g<<mx1;
    return 0;
}