Cod sursa(job #1866071)

Utilizator Constantin.Dragancea Constantin Constantin. Data 2 februarie 2017 16:49:28
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
 
ll n,g,w[5100],p[5100],i,j,D[2][10100];
 
int main(){
    ifstream cin ("rucsac.in");
    ofstream cout ("rucsac.out");
    cin>>n>>g;
    for (i=1; i<=n; i++) cin>>w[i]>>p[i];
    int q=0;
    for (i=1; i<=n; i++){
        for (j=0; j<=g; j++){
        	D[1-q][j]=D[q][j];
            if (j>=w[i]) D[1-q][j]=max(D[1-q][j],(D[q][j-w[i]]+p[i]));
        }
        q=1-q;
    }
    cout<<D[q][g];
    return 0;
}