Cod sursa(job #2613401)

Utilizator Simon2712Simon Slanina Simon2712 Data 9 mai 2020 17:17:18
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int dp[1001][5001];
struct ura{
  short int e,c;
};
ura v[1001];
int main()
{
    int n,e,rez=0,i,j;
    cin>>n>>e;
    for(i=1;i<=n;i++)
    {
      cin>>v[i].e>>v[i].c;
    }
    for(i=1;i<=n;i++)
    for(j=1;j<=e;j++)
    {
      if(dp[i-1][j]==0)
        dp[i][j]=dp[i][max(0,j-v[i].e)]+v[i].c;
      else
        dp[i][j]=min(dp[i-1][j],dp[i][max(0,j-v[i].e)]+v[i].c);
    }
    for(i=1;i<=n;i++)
    {
      if(dp[i][e]){
        if(rez==0)
          rez=dp[i][e];
        else
          rez=min(rez,dp[i][e]);
      }
    }
    if(rez==0)
      cout<<-1;
    else
      cout<<rez;
    return 0;
}