Cod sursa(job #1838205)

Utilizator lorena1999Marginean Lorena lorena1999 Data 31 decembrie 2016 14:00:58
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#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);
}