Pagini recente » Diferente pentru preoni-2008/clasament/runda-finala/11-12 intre reviziile 1 si 2 | Cod sursa (job #1796679) | Monitorul de evaluare | Clasament dupa rating | Cod sursa (job #476985)
Cod sursa(job #476985)
# include <cstdio>
# define N 1001
using namespace std;
int S,G,W,e[N],c[N],sol[N*1000],i,j,S2,sum,minim=1000000000,sum2;
int main (){
freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);
scanf ("%d%d",&G,&W);
for (i=1;i<=G;++i){
scanf ("%d%d",&e[i],&c[i]);
if (sol[e[i]]==0 || sol[e[i]]>e[i]) sol[e[i]]=c[i];
}
for (i=1;i<=G;++i)
for (j=W*2;j>=1;--j)
if (sol[j]){
sum=j+e[i];
sum2=sol[j]+c[i];
if (sol[sum]==0 || sol[sum]>sum2) sol[sum]=sum2;
}
for (i=100000;i>=W;--i)
if (minim>sol[i] && sol[i]) minim=sol[i];
if(minim==1000000000) minim=0;
printf ("%d\n",minim);
return 0;
}