Cod sursa(job #2468104)

Utilizator rares9991Matisan Rares-Stefan rares9991 Data 5 octombrie 2019 12:54:46
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;

int l[1002],profit[5001*1001],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=s+l[i];
    }
    for(int j=1;j<=s;j++)
    profit[j]=9999999;
    for(int i=0;i<=n;i++)
       for(int j=0;j<=s-l[i];j++)
       {
        if(profit[j]!=9999999)
          if(p[i]+profit[j]<=profit[j+l[i]])
             {
             profit[j+l[i]]=p[i]+profit[j];
             }

       }
    for(int i=1;i<=s;i++)
    if(profit[i]<=minn and profit[i]>=w)
    minn=profit[i];
    if(minn==9999999)
    fout<<-1;
    else
    fout<<minn;
    return 0;
}