Mai intai trebuie sa te autentifici.
Cod sursa(job #496262)
| Utilizator | Data | 28 octombrie 2010 11:36:09 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.67 kb |
#include<cstdio>
FILE *fin=fopen("energii.in","r");
FILE *fout=fopen("energii.out","w");
int a[1001],b[1001],n,s,aux,q,i,sw;
float c[1001],auxf;
int main(){
fscanf(fin,"%d",&n);
fscanf(fin,"%d",&q);
for(i=1;i<=n;i++){
fscanf(fin,"%d%d",&a[i],&b[i]);
c[i]=(float)a[i]/(float)b[i]; //greedy
}
do{
sw=0;
for(i=1;i<n;i++)
if(c[i]<c[i+1]){
auxf=c[i];
c[i]=c[i+1];
c[i+1]=auxf;
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
aux=b[i];
b[i]=b[i+1];
b[i+1]=aux;
sw=1;
}
}while(sw);
i=1;
while(s<=q){
s+=b[i];
i++;
}
fprintf(fout,"%d",s);
fclose(fout);
return 0;
}