Pagini recente » Cod sursa (job #3267124) | Cod sursa (job #2276355) | Cod sursa (job #249833) | Cod sursa (job #2356351) | Cod sursa (job #487459)
Cod sursa(job #487459)
#include <cstdio>
#include <string.h>
#include <algorithm>
#define inf 100030
using namespace std;
int g;
int w;
int e[inf];
int c[inf];
int sol[inf];
int viz[inf];
void citire()
{
scanf("%d %d", &g, &w);
for(int i=0;i<g;i++)
scanf("%d %d",&e[i],&c[i]);
for(int i=1;i<2*w;i++)
sol[i]=335546;
viz[0]=1;
sol[0]=0;
}
void afisare()
{
int min=99999;
for(int i=w;i<2*w;i++)
if(viz[i]==1)
{
if(min>sol[i])
min=sol[i];
}
if(min!=99999)
{
printf("%d",min);
return;
}
printf("-1");
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
citire();
for(int i=0;i<g;i++)
for(int j=w;j>=0;j--)
if(viz[j]==1)
{
sol[j+e[i]]= min ( sol[j+e[i]],sol[j] + c[i]);
viz[j+e[i]]=1;
}
afisare();
return 0;
}