Pagini recente » Cod sursa (job #1776681) | Cod sursa (job #681481) | Cod sursa (job #1671003) | Cod sursa (job #2089822) | Cod sursa (job #391003)
Cod sursa(job #391003)
#include <stdio.h>
const int M=1005;
const int N=5005;
const int INF=2e8;
int g,w,e[M],c[M],v[N];
int main(){
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w);
for(int i=1;i<=g;i++)
scanf("%d%d",&e[i],&c[i]);
int i,j;
for(j=1;j<=w;++j)
v[j]=INF;
for(i=1;i<=g;i++){
for(j=w;j>=1;j--)
if(v[j]!=INF) {
if(j+e[i]>=w && v[j]+c[i]<v[w])
v[w]=v[j]+c[i];
if(j+e[i]<=w && v[j]+c[i]<v[j+e[i]])
v[j+e[i]]=v[j]+c[i];
}
if(e[i]>=w && c[i]<v[w])
v[w]=c[i];
else if(c[i]<v[e[i]] && c[i]>v[w])
v[e[i]]=c[i];
}
if(v[w]==INF)
{
printf("-1\n");
return 0;
}
printf("%d\n",v[w]);
return 0;
}