Cod sursa(job #210799)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 29 septembrie 2008 14:23:51
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.58 kb
#include<stdio.h>
int w,n,i,j,a[1002],b[1002],wa,co,cou;
char au,aux,bu;
int main ()
{
    freopen ("energii.in","r",stdin);
    freopen ("energii.out","w",stdout);
    scanf("%d%d",&n,&w);
    for(i=1;i<=n;++i)
    scanf("%d%d",&a[i],&b[i]);
    
    for(i=1;i<=n;++i)
    for(j=i+1;j<=n;++j)
    {
                       if(a[i]<a[j] && b[i]!=b[j])
                       {
                                    a[i]^=a[j];
                                    a[j]^=a[i];
                                    a[i]^=a[j];
                                    if(b[i]<b[j])
                                    {
                                                 b[i]^=b[j];
                                                 b[j]^=b[i];
                                                 b[i]^=b[j];
                                    }
                       }
                       else
                       {
                           if(a[i]<a[j] && b[i]==b[j])
                           {
                                        a[i]^=a[j];
                                        b[i]^=b[j];
                                        a[j]^=a[i];
                                        b[j]^=b[i];
                                        a[i]^=a[j];
                                        b[i]^=b[j];
                           }
                       }
    }
    wa=0;
    co=0;
    for(i=1;i<=n;++i)
    if(w>=wa)
    {
            wa+=a[i];
            co+=b[i];
            cou=b[i];
    }
    else
    {
        printf("%d",co-cou);
        return 0;
    }
}