Pagini recente » Cod sursa (job #1256937) | Cod sursa (job #226380) | Cod sursa (job #1299996) | Statistici Adi Florea (MoonNight) | Cod sursa (job #1253092)
#include <algorithm>
#include <fstream>
using namespace std;
int G,W;
int e[10001],c[10001];
int ene;
int a[1100][5100];
int minim=1000000000;
ofstream g("energii.out");
void Citire()
{
int i;
ifstream f("energii.in");
f>>G>>W;
for(i=1;i<=G;i++)
{
f>>e[i]>>c[i];
ene+=e[i];
}
}
void Solve()
{
int i,j;
for(i=1;i<=G;i++)
for(j=1;j<=5002;j++)
a[i][j]=1000000000;
a[1][e[1]]=c[1];
for(i=2;i<=G;i++)
for(j=1;j<=5002;j++)
if(e[i]<=j)
a[i][j]=min(a[i-1][j], a[i-1][j - e[i]] + c[i]);
}
int main()
{
Citire();
if(ene<W) g<<"-1\n";
else
{
Solve();
for(int i=W;i<=5001;i++)
minim=min(minim,a[G][i]);
g<<minim<<"\n";
}
return 0;
}