Cod sursa(job #2468186)

Utilizator rares9991Matisan Rares-Stefan rares9991 Data 5 octombrie 2019 13:18:24
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;

int l[1002],profit[5005],p[1001];

ifstream fin("energii.in");
ofstream fout("energii.out");

int main()
{
    int n,w,minn=9999999,s=0;
    fin>>n>>w;
    for(int i=1;i<=n;i++)
    {
    fin>>l[i]>>p[i];
    s+=p[i];
    }
    if(s>w)
    fout<<-1;
    else
    {int k;
    for(int j=1;j<=w;j++)
    profit[j]=minn;
    for(int i=1;i<=n;i++)
       for(int j=w-1;j>=0;j--)
       {
        if(profit[j]!=minn)
          {if(j+p[i]>=w)
          k=w;
             else
             k=j+p[i];
            if(profit[j]+p[i]<profit[k])
            profit[k]=profit[j]+p[i];
          }
       }
    fout<<profit[w];
    }
    return 0;
}