Cod sursa(job #3254258)

Utilizator Darius1414Dobre Darius Adrian Darius1414 Data 6 noiembrie 2024 20:08:57
Problema Heavy metal Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
#define nmx 100005
#define sqr 317
using namespace std;
int t,n,k,x,y,a,b,c,ct,fin[nmx],rsp[2*nmx],mx;
pair <int,int> dp[2*nmx];
int main()
{
    ifstream f ("heavymetal.in");
    ofstream g ("heavymetal.out");
    f>>n;
    for (int i=1; i<=n; i++)
    {
        f>>x>>y;
        dp[++ct]= {x,i};
        dp[++ct]= {y,i};
    }
    sort (dp+1,dp+ct+1);
    for (int i=ct; i>=1; i--)
        if (fin[dp[i].second]==0)
            fin[dp[i].second]=i;
    for (int i=1;i<=ct;i++)
    {
        rsp[i]=max(rsp[i-1],rsp[i]);
        rsp[fin[i]]=max(rsp[fin[i]],rsp[i]+dp[fin[i]].first-dp[i].first);
        mx=max(mx,rsp[i]);
    }
    g<<mx;
}