Pagini recente » Cod sursa (job #1809855) | Cod sursa (job #2714764) | Cod sursa (job #431755) | Cod sursa (job #232661) | Cod sursa (job #1937884)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
double p[5005],g[5005],n,s,G,rez,schimb,rap[5005],st,dr;
int main() {
fin>>n>>G;
for(int i=1;i<=n;i++)
{
fin>>g[i]>>p[i];
rap[i]=p[i]/g[i];
}
do
{
schimb=0;
for(int i=n;i>=1;i--)
{
if(rap[i]<rap[i+1])
{swap(rap[i],rap[i+1]);
swap(p[i],p[i+1]);
swap(g[i],g[i+1]);
schimb=1;
}
}
}
while(schimb);
st=rap[1];
dr=st;
int i=0;
for(int i=1;i<=n;i++)
cout<<g[i]<<" "<<p[i]<<" ("<<rap[i]<<")\n";
while(s<G)
{
s=s+g[i];
rez=rez+p[i];
i++;
cout<<p[i]<<" ";
}
fout<<rez;
return 0;
}