Cod sursa(job #870517)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 3 februarie 2013 15:36:56
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
//#define DEBUG
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int n, w[5005], W, j, i, m[5005][10005], v[5005];
int main()
{
    cin>>n;
    cin>>W;
    for(i=1;i<=n;i++)
       cin>>w[i]>>v[i];
    for(i=0;i<=W;i++)
       m[0][i]=0;
    for (i=1;i<=n;++i)
        for (j=1;j<=W;++j)
            if (j >= w[i])
                    m[i][j] = max(m[i-1][j], m[i-1][j-w[i]] + v[i]);
            else
                    m[i][j] = m[i-1][j];
  #ifdef DEBUG
    for(i=1;i<=n;i++)
     {for(j=1;j<=W;++j)
        cout<<m[i][j]<<" ";

    cout<<"\n";}
  #endif
    cout<<m[n][W];
    return 0;
}