Pagini recente » Cod sursa (job #592739) | Cod sursa (job #1631405) | Borderou de evaluare (job #2023603) | Cod sursa (job #2809118) | Cod sursa (job #2540509)
#include<fstream>
#include<algorithm>
#define nmax 100007
using namespace std;
ifstream f ("heavymetal.in");
ofstream g ("heavymetal.out");
struct ana
{
int x,y;
}v[nmax];
bool cmp(ana a,ana b)
{
if(a.y!=b.y)
return a.y<b.y;
return a.x>b.x;
}
int sol[nmax],n,i,j;
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i].x>>v[i].y;
sort(v+1,v+n+1,cmp);
sol[1]=v[1].y-v[1].x;
for(i=2;i<=n;i++)
{
sol[i]=sol[i-1]; /// nu il pun
j=i-1;
while(j && v[j].y>v[i].x)
j--;
sol[i]=max(sol[i],sol[j]+v[i].y-v[i].x);
}
g<<sol[n];
}