Cod sursa(job #210799)
Utilizator | 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;
}
}