Pagini recente » Cod sursa (job #225397) | Cod sursa (job #2357452) | Cod sursa (job #921482) | Cod sursa (job #2759848) | Cod sursa (job #878234)
Cod sursa(job #878234)
#include <fstream>
#include <string.h>
#include <algorithm>
#define INF (1 + (1<<8) + (1<<16) + (1<<24))
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n, w, d[10010], e[1010], c[1010], i, j;
int main(){
memset(d, 1, sizeof(d));
f>>n>>w;
for(i=1; i<=n; i++)
f>>e[i]>>c[i];
f.close();
d[0]=0;
for(i=1; i<=n; i++)
{
for(j=w; j>=0; j--)
{
if(d[j]!=INF)
{
if(j+e[i]<=w)
d[j+e[i]]=min( d[j]+c[i], d[ j+e[i] ] );
else
d[w]=min( d[w], d[j]+c[i] );
}
}
}
if(d[w]!=INF)
g<<d[w];
else
g<<"-1";
g<<"\n";
g.close();
return 0;
}