Pagini recente » Cod sursa (job #229939) | Cod sursa (job #1815596) | Cod sursa (job #1105643) | Cod sursa (job #1054853) | Cod sursa (job #2137025)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
struct rucsac
{
float gr,pr;
float rap;
}v[5001];
float n,gmax,i,j,s;
int main()
{
f>>n>>gmax;
for(i=1;i<=n;i++)
{
f>>v[i].gr>>v[i].pr;
v[i].rap=float(v[i].pr/v[i].gr);
g<<v[i].rap<<endl;
}
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(v[i].rap<v[j].rap)
swap(v[i],v[j]);
i=1;
while(gmax-v[i].gr>0 and i<=n)
{
gmax=gmax-v[i].gr;
s=s+v[i].pr;
i++;
}
if(gmax>0)
s=s+gmax*v[i].rap;
g<<s;
return 0;
}