Cod sursa(job #1037401)

Utilizator bogdan10bosBogdan Sitaru bogdan10bos Data 20 noiembrie 2013 10:01:16
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <cstdio>

using namespace std;
struct qq
{
    int x, g;
}v[5005];
int n, g, i, j,s, w[10005];
int maxx(int x, int y)
{
    if(x>y) return x;
    else return y;
}
int main()
{
    freopen("rucsac.in", "r", stdin);
    freopen("rucsac.out", "w", stdout);
    scanf("%d%d", &n, &g);
    for(i=1;i<=n;i++)
        scanf("%d%d", &v[i].g, &v[i].x);

    for(i=1;i<=n;i++)
        for(j=g-v[i].g;j>=0;j--)
        if(w[j+v[i].g]<w[j]+v[i].x)
        {
            w[j+v[i].g]=w[j]+v[i].x;
            if(w[j+v[i].g]>s) s=w[j+v[i].g];
        }
    printf("%d", s);
    return 0;
}