Pagini recente » Cod sursa (job #2571337) | Cod sursa (job #1228937) | Cod sursa (job #821123) | Cod sursa (job #1420182) | Cod sursa (job #1049322)
#include <iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int n,w,eg[1005],cg[1005],d[1005][5005];
void Citire()
{
int i;
ifstream fin("energii.in");
fin>>n>>w;
for(i=1;i<=n;i++)
fin>>eg[i]>>cg[i];
fin.close();
}
void Initializare()
{
int i,j;
for(i=0;i<=n;i++)
for(j=1;j<=w;j++)
d[i][j]=2000000000;
}
void Solve()
{
int i,j;
Initializare();
//d[i][j]=min(d[i-1][j], d[i-1][j-eg[i]] + cg[i]);
for(i=1;i<=n;i++)
{
for(j=1;j<=w;j++)
{
if(j>=eg[i])
d[i][j]=min(d[i-1][j], d[i-1][j-eg[i]] + cg[i]);
else
d[i][j]=min(d[i-1][j],cg[i]);
}
}
ofstream fout("energii.out");
if(d[n][w]==2000000000)
fout<<"-1\n";
else fout<<d[n][w]<<"\n";
fout.close();
}
int main()
{
Citire();
Solve();
return 0;
}