Cod sursa(job #1900290)

Utilizator KemyKoTeo Virghi KemyKo Data 3 martie 2017 11:50:53
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

struct obiect
{
    int g,p,s;
}v[5001];

int n,G;
int mx;

int comp (obiect a,obiect b)
{
    return (a.g < b.g);
}

void citire ()
{
    int i;
    f>>n>>G;
    for (i=1;i<=n;i++)
        f>>v[i].g>>v[i].p;
    sort(v+1,v+n+1,comp);

    //for (i=1;i<=n;i++)
        //cout<<v[i].g<<" "<<v[i].p<<'\n';
}

void dinamica()
{
    int i,j,greut=0;
    for (i=1;i<=n;i++){
        greut=0;
        for (j=i;j<=n;j++){
            greut+=v[j].g;
            if (greut<=G){
                v[i].s+=v[j].p;
                if (v[i].s>mx)
                    mx=v[i].s;
            }else break;
        }
    }


}

int main()
{
    citire();
    dinamica();
    g<<mx;
}