Cod sursa(job #1519504)

Utilizator StefaanStefanescu Stefan Stefaan Data 7 noiembrie 2015 14:08:12
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include<algorithm>
using namespace std;
typedef struct{int gr, p;
} RUCSAC;
RUCSAC v[5000];
int n,G;

ifstream f("rucsac.in");
ofstream g("rucsac.out");

void citire()
{
    f>>n>>G;
    for(int i=1;i<=n;i++)
        f>>v[i].gr>>v[i].p;
    f.close();
}

bool comp(RUCSAC a,RUCSAC b)
{
    return (a.p>b.p);
}

void greedy()
{
    int pmax=0;
    for(int i=1;i<=n && G-v[i].gr>=0;i++)
        {
            G=G-v[i].gr;
            pmax=pmax+v[i].p;
        }
    g<<pmax;
    g.close();
}

int main()
{
    citire();
    sort(v+1,v+n+1,comp);
    greedy();
    return 0;
}