Cod sursa(job #2561928)
Utilizator | Data | 29 februarie 2020 11:08:20 | |
---|---|---|---|
Problema | Heavy metal | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("heavymetal.in");
ofstream g("heavymetal.out");
struct concerte
{
int x,y;
} v[100001];
bool comp(concerte a, concerte b)
{
return (a.y<b.y)||(a.y==b.y&&a.x>b.x);
}
long long n,i,j,smax,s[100001];
int main()
{
f>>n;
for(i=1; i<=n; i++)
{
f>>v[i].x>>v[i].y;
}
sort(v+1,v+n+1,comp);
i=1;
for(j=1;j<=v[n].y;j++){
s[j]=s[j-1];
while(v[i].y==j){
s[j]=max(s[j],s[v[i].x]+v[i].y-v[i].x);
i++;
}
}
g<<s[v[n].y];
return 0;
}