Cod sursa(job #1604727)

Utilizator SternulStern Cristian Sternul Data 18 februarie 2016 15:26:45
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n,k,s[5000],maxx,poz;
struct ya{int p,g;};
ya a[5000];

void citire()
{
    f>>n>>k;
    for(int i=1;i<=n;i++)
    {
        f>>a[i].g;
        f>>a[i].p;
    }
}

void maxi()
{
    int maxx=0,ge=0;
    int c = 0,maxge=0;
    while(ge <= k)
    {
        maxx=0;
        for(int i = 1;i <= n;i++)
            if(s[i] == 0 && a[i].p > maxx)
            {
                maxge = a[i].g;
                maxx = a[i].p;
                poz = i;
            }
        c += maxx;
        ge += maxge;
        s[poz] = 1;
    }
    c -= a[poz].p;
    g<<c;
}
int main()
{
    citire();
    maxi();
}