Pagini recente » Cod sursa (job #1972124) | Cod sursa (job #690535) | Cod sursa (job #233156) | Cod sursa (job #3126690) | Cod sursa (job #2393535)
#include <bits/stdc++.h>
using namespace std;
ifstream fi("rucsac.in");
ofstream fo("rucsac.out");
char c='\n';
double a[5004];
int w[5003], p[5005];
int g, n, q,s;
int main ()
{
fi>>n>>g;
for (int i=1;i<=n;i++)
{
fi>>w[i]>>p[i];
a[i]=1.00*p[i]/w[i];
}
for (int i=1; i<=n-1; i++)
for (int j=i+1; j<=n;j++)
if (a[j]>=a[i])
{
swap (a[i],a[j]);
swap (w[i],w[j]);
swap (p[i],p[j]);
}
for (int i=1;i<=n;i++) cout<<a[i]<<" ";
cout<<c;
for (int i=1;i<=n;i++) cout<<w[i]<<" ";
cout<<c;
for (int i=1;i<=n;i++) cout<<p[i]<<" ";
cout<<c<<c;
int i=1;
while (q<=g)
{
s+=p[i];
q+=w[i];
i++;
}
cout<<c<<c<<q<<c<<c;
s-=(q-g)*a[i-1];
fo<<s;
return 0;
}