Pagini recente » Cod sursa (job #2435238) | Cod sursa (job #1335897) | Cod sursa (job #1786774) | Cod sursa (job #960839) | Cod sursa (job #797568)
Cod sursa(job #797568)
#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;
}