Pagini recente » Cod sursa (job #2179117) | Cod sursa (job #152157) | Cod sursa (job #1355107) | Cod sursa (job #2692562) | Cod sursa (job #1000963)
#include<iostream>
#include<fstream>
using namespace std;
int n,G;
struct {int g,v;}v[10001],aux;
ofstream g("rucsac.out");
ifstream f("rucsac.in");
void citire()
{
f>>n>>G;
for(int i=1;i<=n;i++){f>>v[i].g>>v[i].v;}
f.close();
}
void ordo()
{
int i,ok;
do
{
ok=0;
for(i=1;i<n;i++)
if((float)(v[i].v/v[i].g)<(float)v[i+1].v/v[i+1].g){aux=v[i];v[i]=v[i+1];v[i+1]=aux;ok=1;}
}
while(ok);
}
void greedy()
{
int i,p,S=0;
for(i=2;i<=n&&G>0;i++)
if(v[i].g<=G){G-=v[i].g;S+=v[i].v;}
g<<S<<" "<<G;
g.close();
}
int main()
{
citire();
ordo();
greedy();
return 0;
}