Pagini recente » Cod sursa (job #167773) | Profil Popescovicescov | Cod sursa (job #2688514) | Cod sursa (job #1819781) | Cod sursa (job #1149830)
#include <iostream>
#include <fstream>
using namespace std;
#define beat_this 1000000000
ifstream in("energii.in");
ofstream out("energii.out");
int nrG,needed_energy;
int energies[1005],weights[1005];
int first[5005],second[5005];
void citire()
{
in>>nrG>>needed_energy;
int i;
for(i=1;i<=nrG;++i)
in>>energies[i]>>weights[i];
}
void lets_see()
{
int i,j;
for(i=1;i<=needed_energy;++i)
first[i]=beat_this;
for(i=1;i<=nrG;++i)
{
for(j=1;j<=needed_energy;++j)
{
if(energies[i]>=j)
second[j]=min(first[j],weights[i]);
else second[j]=min(first[j], first[j-energies[i]] + weights[i]);
}
for(j=1;j<=needed_energy;j++)
first[j]=second[j];
}
if(second[needed_energy]==beat_this) out<<-1;
else out<<second[needed_energy];
}
int main()
{
citire();
lets_see();
return 0;
}