Cod sursa(job #1423143)
Utilizator | Data | 21 aprilie 2015 15:09:01 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.78 kb |
#include<fstream>
using namespace std;
int N,G,i,g,p,greutate[5009],pret[5009],Y,x,MAX,dif,suma;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main ()
{
fin>>N>>G;
for(i=1;i<=N;i++)
{
fin>>g>>p;
greutate[i]=g;
pret[i]=p;
}
Y=0;
do
{
MAX=0;
for(i=1;i<=N;i++)
{
if(greutate[i]<=G)
{
dif=pret[i]-greutate[i];
}
if(dif>MAX)
{
x=i;
MAX=dif;
}
}
G=G-greutate[x];
suma=suma+pret[x];
greutate[x]=0;
pret[x]=-1;
Y++;
}
while(Y!=5);
fout<<suma;
fin.close();
fout.close();
return 0;
}