Pagini recente » Cod sursa (job #886301) | Cod sursa (job #632089) | Cod sursa (job #2325961) | Cod sursa (job #69057) | Cod sursa (job #238992)
Cod sursa(job #238992)
#include<stdio.h>
int lung,i,n,max,p,o;
struct heav
{
int a,b;
};
heav x[1001],aux;
void sort()
{p=1;
while(p)
{p=0; for(i=1;i<n;i++)
if(x[i].a>x[i+1].a)
{
aux=x[i];
p=1;
x[i]=x[i+1];
x[i+1]=aux;
}
else
if(x[i].a==x[i+1].a)
if(x[i].b>x[i+1].b)
{
aux=x[i];
p=1;
x[i]=x[i+1];
x[i+1]=aux;
}
}}
void back(int i)
{o=i;
for(i;i<=n;i++)
{
if (x[o].b<=x[i].a)
{
lung+=x[i].b-x[i].a+1;
if(lung>max)
max=lung;
back(i+1);
lung-=x[i].b-x[i].a-1;
}
}
}
int main()
{
freopen("heavymetal.in","r",stdin);
freopen("heavymetal.out","w",stdout);
scanf("%d",&n);
for(i=2;i<=n;i+=2)
scanf("%d%d%d%d",&x[i-1].a,&x[i-1].b,&x[i].a,&x[i].b);
// stdin.close();
sort();
// for(i=1;i<=n;i++)
// printf("%d %d\n",x[i].a,x[i].b);
back(1);
printf("%d",max);
return 0;
}