Cod sursa(job #1070247)

Utilizator TudorMTudor Moldovanu TudorM Data 31 decembrie 2013 14:24:12
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n, gmax, w[1001], p[1001], v1[5001], v2[5001], i, j, pmax;
int main()
{
    f>>n>>gmax;
    for(i=1;i<=n;i++)f>>w[i]>>p[i];
    for(i=1;i<=gmax;i++)v1[i]=v2[i]=10000000;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=gmax;j++)
        {
            if(j>=w[i])
            {
                v1[j]=min(v2[j],p[i]+v2[j-w[i]]);
            }
            else v1[j]=min(v2[j],p[i]);
        }
        for(j=1;j<=gmax;j++)v2[j]=v1[j];
        pmax=v1[gmax];
    }
    g<<pmax;
    f.close();
    g.close();
    return 0;
}