Pagini recente » Cod sursa (job #2862056) | Cod sursa (job #2862061) | Cod sursa (job #2403254) | Cod sursa (job #1258586) | Cod sursa (job #1005832)
# include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
struct bag
{
int g,v,in;
}
v[100],aux;
int n,G,S=0;
void citire ()
{
int i;
f>>n>>G;
for (i=1; i<=n; i++)
{
f>>v[i].g>>v[i].v;
v[i].in=i;
}
}
void ordo ()
{
int OK,i;
do
{
OK=0;
for (i=1; i<n; i++)
if ((float)v[i].v/(float)v[i].g<(float)v[i+1].v/(float)v[i+1].g)
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
OK=1;
}
}
while (OK);
}
void greedy ()
{
int i;
for (i=1; i<=n&&G>0; i++)
if (v[i].g<=G)
{
G=G-v[i].g;
S=S+v[i].v;
}
g<<S;
}
int main ()
{
citire ();
ordo();
greedy();
f.close ();
g.close ();
return 0;
}