Cod sursa(job #238988)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 3 ianuarie 2009 19:58:13
Problema Heavy metal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<stdio.h>
int lung,i,n,max,p;
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;
}}}
void back(int i)
{
     for(i;i<=n;i++)
     {
                    if(x[i-1].b<=x[i].a)
                 {  
                                    lung+=x[i].b-x[i].a;
                                 if(lung>max)
                                    max=lung;
                                     back(i+1);
                                      lung-=x[i].b-x[i].a;
                                      }
                                      }   
}
int main()
{
    freopen("heavymetal.in","r",stdin);
    freopen("heavymetal.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    scanf("%d%d",&x[i].a,&x[i].b);
    sort();
   //   for(i=1;i<=n;i++)
  //  printf("%d %d\n",x[i].a,x[i].b);
    back(1);
    printf("%d",max);
    return 0;
}