Pagini recente » Cod sursa (job #1579789) | Cod sursa (job #675790) | Cod sursa (job #2580526) | Cod sursa (job #2789781) | Cod sursa (job #1149822)
#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(first[j]!=beat_this) out<<first[needed_energy];
else out<<-1;
}
int main()
{
citire();
lets_see();
return 0;
}