Pagini recente » Cod sursa (job #494901) | Cod sursa (job #1922510) | Cod sursa (job #449683) | Cod sursa (job #1269513) | Cod sursa (job #1818811)
#include <fstream>
#define nmax 10001
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,E;
int v[nmax];
struct generator
{int e,c;};
generator a[nmax];
void cit()
{ int i;
fin>>n>>E;
for(i=1;i<=n;++i) fin>>a[i].e>>a[i].c;
}
void dinamic(int&Min)
{int i,j;
for (j=1; j<=E; ++j) v[j] = -1;
for(i=1;i<=n;i++)
for(j=E-1;j>=0;j--)
if(v[j]!=-1)
if(j+a[i].e>=E)
Min=min(Min,v[j]+a[i].c);
else
if(v[j+a[i].e]>v[j]+a[i].c||v[j+a[i].e]==-1)
v[j+a[i].e]=v[j]+a[i].c;
}
int main()
{ cit();
int Min,Min1;
Min=Min1=999999999;
dinamic(Min);
if(Min==Min1) fout<<-1;
else
fout<<Min;
return 0;
}