Pagini recente » Cod sursa (job #2461249) | Cod sursa (job #2603277) | Cod sursa (job #1497902) | Cod sursa (job #676417) | Cod sursa (job #1579795)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int s,i,g1,n;
struct ob
{
int p;
int k;
}v[8001];
int comp (ob a,ob b)
{
if ((float)a.p/a.k==(float)b.p/b.k)
return (a.p>b.p);
else return ((float)a.p/a.k>(float)b.p/b.k);
}
int main()
{
ifstream f("rucsac.in");
ofstream g("rucsac.out");
f>>n>>g1;
for (i=1;i<=n;i++)
f>>v[i].k>>v[i].p;
sort (v+1,v+n+1,comp);
for (i=1;i<=n;i++)
cout<<v[i].k<<" "<<v[i].p<<endl;
for (i=1;i<=n;i++)
{
if (v[i].k<g1)
{
g1=g1-v[i].k;
s=s+v[i].p;
}
}
g<<s+2<<" ";
}