Pagini recente » Cod sursa (job #80049) | Cod sursa (job #971618) | Cod sursa (job #3189077) | Cod sursa (job #1189540) | Cod sursa (job #1838205)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
struct duo{
int gr, pr;
}v[100001];
int n, gr_max;
void citire()
{
f>>n>>gr_max;
for(int i=1; i<=n; i++)
f>>v[i].gr>>v[i].pr;
}
void sortare()
{
for(int i=1; i<n; i++)
for(int j=i+1; j<=n; j++)
if(v[i].pr<v[j].pr || (v[i].pr==v[j].pr && v[i].gr>v[j].gr))
swap(v[i], v[j]);
}
void bk(int gr_act, int profit)
{
for(int i=1; i<=n; i++)
if(gr_act<gr_max)
{
gr_act=gr_act+v[i].gr;
profit=profit+v[i].pr;
}
g<<profit;
}
int main()
{
citire();
sortare();
bk(0, 0);
}