Cod sursa(job #2351362)

Utilizator tiberiu392Tiberiu Ungurianu tiberiu392 Data 22 februarie 2019 11:47:30
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, w, dp[5010], p, c, i, j, s, cmin = 2000000;

int main()
{
    f >> n >> w;
    for ( i = 1 ; i <= w ; i++ )
    {
        dp[i] = 2e9;
    }
    for( i = 1; i <= n ; i++ )
    {
        f >> p >> c;
        for( j = w ; j >= p ; j-- )
        {
            dp[j] = min( dp[j-p]+c, dp[j] );
        }
        for( j = p ; j >= 1 ; j-- )
        {
            dp[j] = min( dp[j], c );
        }
    }

    if( dp[w] != 2e9 )
        g << dp[w];
    else
        g << -1;


    return 0;
}