Pagini recente » Istoria paginii runda/concursdeinfo/clasament | Cod sursa (job #953985) | Istoria paginii runda/id | Cod sursa (job #1689539) | Cod sursa (job #780074)
Cod sursa(job #780074)
#include <fstream>
#include <cstring>
#define NM 1010
#define GM 7010
#define INF 0x3f3f3f
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int N,S,i,j,D[NM][GM],C,E;
int ANS=INF;
int main ()
{
memset(D,INF,sizeof(D));
for (i=0; i<NM; i++)
D[i][0]=0;
f >> N >> S;
f >> E >> C;
D[1][E]=C;
for (i=2; i<=N; i++)
{
f >> E >> C;
for (j=0; j<GM; j++)
D[i][j]=D[i-1][j];
for (j=0; j+E<GM; j++)
D[i][j+E]=min(D[i][j+E],D[i-1][j]+C);
}
for (j=S; j<GM; j++)
ANS=min(ANS,D[N][j]);
if (ANS==INF) ANS=-1;
g << ANS << '\n';
f.close();
g.close();
return 0;
}