Pagini recente » Cod sursa (job #1127716) | Cod sursa (job #1358042) | Cod sursa (job #2320619) | Cod sursa (job #2911087) | Cod sursa (job #925638)
Cod sursa(job #925638)
#include <iostream>
#include <fstream>
using namespace std;
ifstream ka("energii.in");
ofstream ki("energii.out");
int g,w,k,sol[5001];
bool gasit=false;
struct generator
{
int p,c;
}a[1001];
int main()
{
ka>>g>>w;
for(int i=1;i<=g;i++)
{
ka>>a[++k].p;
ka>>a[k].c;
if(sol[a[k].p]==0||sol[a[k].p]>a[k].c)
{
sol[a[k].p]=a[k].c;
}
}
for(int i=1;i<=5001;i++)
{
for(int j=1;j<=g;j++)
{
if((i>a[j].p&&sol[i]==0&&sol[i-a[j].p]!=0)||(i>a[j].p&&sol[i-a[j].p]!=0&&sol[i-a[j].p]+a[j].c<sol[i]))
sol[i]=sol[i-a[j].p]+a[j].c;
}
if(i>=w&&sol[i]!=0)
{
ki<<sol[i];
gasit=true;
break;
}
}
if(!gasit)
ki<<"-1";
}