Pagini recente » Cod sursa (job #253550) | Cod sursa (job #1373513) | Cod sursa (job #2240184) | Cod sursa (job #1260771) | Cod sursa (job #1188645)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
struct obiect
{
int W,P;
float ef;
}v[100];
int N,G,cast,cap_ram;
void citire()
{
int i;
f>>N>>G;
//cout<<N<<" "<<G;
for(i=1;i<=N;i++)
{
f>>v[i].W>>v[i].P;
v[i].ef=(float)(v[i].W/v[i].P);
}
}
void ordonare()
{
int i,j;
obiect aux;
for(i=1;i<=N-1;i++)
for(j=i+1;j<=N;j++)
if(v[i].ef<v[j].ef)
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
}
void rezolvare()
{
cap_ram=G;
int i=1;
float formula=0;
while(cap_ram>0 && i<=N)
{
if(v[i].W<cap_ram)
{
cap_ram-=v[i].W;
cast+=v[i].P;
}
/*else
{
formula=(float)cap_ram/v[i].masa*100;
cap_ram=0;
cast+=formula *v[i].valoare;
}*/
i+=1;
}
g<<cast+2;
}
int main()
{
citire();
ordonare();
rezolvare();
return 0;
}