Pagini recente » Cod sursa (job #1351329) | Borderou de evaluare (job #1351384) | Borderou de evaluare (job #2488968) | Borderou de evaluare (job #46873) | Cod sursa (job #487437)
Cod sursa(job #487437)
#include <cstdio>
using namespace std;
int g, w, energ;
struct cv
{
int eg, cg;
double cost;
}; cv chestie [1001];
void citire()
{
scanf ("%d ",&g);
scanf ("%d ",&w);
for (int i=0; i<g; i++)
scanf ("%d %d ", &chestie[i].eg, &chestie[i].cg);
}
void ceva()
{
for (int i=0; i<g; i++)
chestie[i].cost=(double)chestie[i].eg/chestie[i].cg;
for (int i=0; i<g-1; i++)
for (int j=i+1; j<g; j++)
if (chestie[i].cost<chestie[j].cost)
{
cv aux=chestie[i];
chestie[i]=chestie[j];
chestie[j]=aux;
}
for (int i=0; i<g; i++)
{
if (chestie[i].eg<=w)
{
w-=chestie[i].eg;
energ+=chestie[i].cg;
}
if (w<=0)
break;
}
}
int main()
{
freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);
citire();
ceva();
printf ("%d\n",energ);
return 0;
}