Cod sursa(job #916652)
| Utilizator | Data | 16 martie 2013 19:23:23 | |
|---|---|---|---|
| Problema | Heavy metal | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include<stdio.h>
#include<algorithm>
using namespace std;
struct bg
{
int x,y;
}v[100003];
int d[1000003];
bool cmp(bg a, bg b)
{
return a.y<b.y;
}
int main()
{
freopen("heavymetal.in","r",stdin);
freopen("heavymetal.out","w",stdout);
int l,n,i;
l=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d%d",&v[i].x,&v[i].y);
sort(v+1,v+n+1,cmp);
for(i=1;i<=v[n].y;i++)
{
d[i]=d[i-1];
while(v[l].y==i)
{
d[i]=max(d[i],d[v[l].x]+i-v[l].x);
l++;
}
}
printf("%d" ,d[v[n].y]);
return 0;
}
