Pagini recente » Cod sursa (job #2540578) | Cod sursa (job #2441554) | Cod sursa (job #1506649) | Cod sursa (job #681122) | Cod sursa (job #916572)
Cod sursa(job #916572)
#include<stdio.h>
#include<algorithm>
#include<deque>
using namespace std;
struct f
{
short int b,t;
}v[10];
struct bog
{
long a,f;
};
bool cmp(f c,f d)
{
if(c.b!=d.b)
return c.b<d.b;
return c.t<d.t;
}
int main()
{
freopen("heavymetal.in","r",stdin);
freopen("heavymetal.out","w",stdout);
int n,i;
long val,max;
max=0;
bog el,el2;
deque<bog>de;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%hd%hd",&v[i].b,&v[i].t);
sort(v+1,v+n+1,cmp);
val=el.f=v[1].t;
el.a=1;
el.f=v[1].t-v[1].b;
de.push_back(el);
while(!de.empty())
{
el=de.front();
val=el.f;
de.pop_front();
for(i=el.a+1;i<=n;i++)
{
if(v[i].b<v[i-1].t)
{
el2.a=i;
el2.f=val+v[i].t-v[i].b-v[i-1].t+v[i-1].b;
de.push_back(el2);
}
else
val=val+v[i].t-v[i].b;
if(val>max)
max=val;
}
}
printf("%ld\n",max);
return 0;
}