Cod sursa(job #2377707)

Utilizator ClaudiuALLupau Claudiu ClaudiuAL Data 10 martie 2019 21:26:42
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>

using namespace std;
ifstream cin("energii.in");
ofstream cout("enrgii.out");
#define gmax 1001
#define wmax 5000
#define INF 9999999

int dp[wmax*3+5], w,n;
struct inf
{
    int cost;
    int energie;
} V[gmax];
void read()
{

    int i;
    cin>>n>>w;
    for(i=1;i<=n;i++){
        cin>>v[i].energie>>v[i].cost;
    }
}
void solve()
{

    int i,j,sol=INF;
    for(i=1;i<=wmax*3;i++)
        dp[i]=INF;
    for(i=1;i<=n;i++)
    {
        for(j=x;j>=0;j--)
            if(dp[j] !=INF)
            {
                dp[j+v[i].energie]=min(dp[j+v[i].energie],(dp[j]+v[i].cost));
            }

    }
   for(i=w;i<=wmax*3;i++)
        sol=min(dp[i],sol);
   if(sol==INF) cout<< -1;
   else cout<< sol;

}
int main()
{
    read();
    solve();
    return 0;
}