Pagini recente » Cod sursa (job #1771719) | Cod sursa (job #1773467) | Cod sursa (job #2347814) | Cod sursa (job #1612096) | Cod sursa (job #763556)
Cod sursa(job #763556)
#include<fstream>
using namespace std;
#define NN1 1002
#define NN2 5002
#define INF 0x3f3f3f3f
ofstream out("energii.out");
int e[NN1],c[NN1];
int Din[NN1][NN2];
int G,W;
void read();
void dinamic();
int main()
{
read();
dinamic();
if(Din[G][W]==INF)
out<<-1;
else
out<<Din[G][W];
return 0;
}
void read()
{
ifstream in("energii.in");
in>>G>>W;
for(int i=1;i<=G;++i)
in>>e[i]>>c[i];
}
void dinamic()
{
for(int i=0;i<=G;i++)
for(int j=1;j<=W;j++)
Din[i][j]=INF;
for(int i=1;i<=G;i++)
for(int j=1;j<=W;j++)
{
if(e[i]<=j)
Din[i][j]=min(Din[i-1][j],Din[i-1][j-e[i]] + c[i]);
else
Din[i][j]=min(Din[i-1][j],c[i]);
}
}