Pagini recente » Cod sursa (job #2903249) | Cod sursa (job #908406) | Cod sursa (job #2082144) | Cod sursa (job #1968709) | Cod sursa (job #2027246)
#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
{
if(b[j+a[i].p])
ct[j+a[i].p]=min(ct[j+a[i].p],ct[j]+a[i].c );
else
{
b[j+a[i].p]=1;
ct[j+a[i].p]=ct[j]+a[i].c;
}
}
if(mini!=10000005) fout<<mini;
else fout<<-1;
return 0;
}