Pagini recente » Cod sursa (job #1667790) | Cod sursa (job #2419819) | Cod sursa (job #2450993) | Cod sursa (job #988199) | Cod sursa (job #1330097)
#include <fstream>
#include<algorithm>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int main() {
int n,g,maxim,cmin,cost[10005];
bool viz[10005]={0};
in>>n>>g;
viz[0]=1;
maxim=0;
for(int i=1;i<=10004;i++)
cost[i]=10001;
for(int i=1;i<=n;i++)
{
int x,y;
in>>x>>y;
int ok=0;
for(int j=maxim;j>=0;j--)
if(viz[j]==1)
{
if(ok==0)
{
maxim=max(maxim,j+x);
ok=1;
}
viz[j+x]=1;
cost[j+x]=min(cost[j+x],cost[j]+y);
}
}
cmin=1002001;
for(int i=g;i<=maxim;i++)
{
if(cmin>cost[i])
cmin=cost[i];
}
if(cmin==1002001)
out<<-1;
else
out<<cmin;
in.close();
out.close();
return 0;
}