Mai intai trebuie sa te autentifici.
Cod sursa(job #323329)
| Utilizator | Data | 11 iunie 2009 19:50:34 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<fstream>
using namespace std;
int eg[1001],cg[1001];
int main()
{
int i,j,n,w,aux,sum=0,ok=1,c=0;
ifstream f("energii.in");
ofstream g("energii.out");
f>>n>>w;
for(i=1;i<=n;i++)
f>>eg[i]>>cg[i];
for(i=2;i<=n;i++)
{
j=i;
while(j>1&&eg[j]*cg[j-1]>eg[j-1]*cg[j])
{
aux=eg[j];
eg[j]=eg[j-1];
eg[j-1]=aux;
aux=cg[j];
cg[j]=cg[j-1];
cg[j-1]=aux;
j--;
}
}
for(i=1;i<=n&&ok==1;i++)
{
if(c<w)
{
c=c+eg[i];
ok=0;
sum=sum+cg[i];
}
}
if(ok==1)
g<<-1;
else
g<<sum;
f.close();
g.close();
return 0;
}