Pagini recente » Cod sursa (job #580620) | Cod sursa (job #1598127) | Cod sursa (job #1421951) | Cod sursa (job #915908) | Cod sursa (job #696367)
Cod sursa(job #696367)
#include <fstream>
#include <iostream.h>
#include <string.h>
#define INF 20000
using namespace std;
int min(int a, int b)
{
if(a>b)
return b;
else
return a;
}
int main()
{
int g,w,a[1005][5005],e[1005],c[1005],i,j;
ifstream f("energii.in");
ofstream h("energii.out");
f>>g>>w;
for(i=1; i<=g; i++)
{
f>>e[i]>>c[i];
}
//memset(a,INF,sizeof(a));
for(i=0; i<=g; i++)
for(j=1; j<=w; j++)
a[i][j]=INF;
for(i=1; i<=g; i++)
for(j=1; j<=w; j++)
if(j<=e[i])
a[i][j]=min(a[i-1][j],c[i]);
else
a[i][j]=min(a[i-1][j],a[i-1][j-e[i]]+c[i]);
if(a[g][w]==INF)
h<<-1;
else
h<<a[g][w];
return 0;
}