Pagini recente » Cod sursa (job #2227884) | Cod sursa (job #1279169) | Cod sursa (job #2004860) | Cod sursa (job #97031) | Cod sursa (job #843958)
Cod sursa(job #843958)
#include<cstdio>
using namespace std;
int g,w_final,i,cost[2005],j;
long long minim=999999999;
struct gen{
int w,c;
}a[1005];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w_final);
for(i=1;i<=g;i++)
scanf("%d%d\n",&a[i].w,&a[i].c);
for(i=1;i<=g;i++)
{
if(a[i].w>=w_final)
{
if(a[i].c<minim)
minim=a[i].c;
}
else
{
for(j=i-1;j>=1;j--)
if((a[j].w+a[i].w)>=w_final)
{
if( (a[j].w+a[i].w) <= minim)
minim=a[j].c+a[i].c;
}
else
if( (a[j].w+a[i].w) >= a[i].w )
{
a[i].w=a[j].w+a[i].w;
a[i].c=a[j].c+a[i].c;
}
}
}
if(minim!=999999999)
printf("%lld",minim);
else
printf("-1");
fclose(stdin);
fclose(stdout);
return 0;
}