Cod sursa(job #2027243)

Utilizator Garen456Paun Tudor Garen456 Data 25 septembrie 2017 20:17:10
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>

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

int G,W;
struct generator
 {
     int p,c;
 };
 generator a[1005];
 bool b[5005];
 int ct[5005];

int main()
{    fin>>G>>W;
   int i,j,mini=10000005;
   for(i=1;i<=G;++i)
    fin>>a[i].p>>a[i].c;

    b[0]=1;
    for(i=1;i<=G;++i)
     for(j=W-1;j>=0;--j)
        if(b[j])
            if(j+a[i].p>=W)
               mini=min(mini,ct[j] +a[i].c);
            else
                { b[j+a[i].p]=1;
                ct[j+a[i].p]=min(ct[j+a[i].p],ct[j]+a[i].c );
            }
   fout<<mini;


    return 0;
}