Pagini recente » Cod sursa (job #842109) | Cod sursa (job #1411973) | Cod sursa (job #3188324) | Cod sursa (job #353833) | Cod sursa (job #807416)
Cod sursa(job #807416)
#include<fstream>
#include<iostream>
#include<algorithm>
#define maxn 5001
#define maxg 10001
using namespace std;
int P[maxn],H[maxn],O[maxg][maxn];
int main()
{
fstream f,g;
f.open("energii.in",ios::in);
g.open("energii.out",ios::out);
int N,G;
f>>N>>G;
for(int i=1;i<=N;i++)
f>>H[i]>>P[i];
for(int i = 0; i < N; i++)
for(int j = 1; j <= G; j++)
O[i][j] = 200001;
for(int i = 1; i <= N; ++i)
for(int j = 0; j <= G; ++j)
{ O[i][j] = O[i-1][j];
if(H[i] <= j)
O[i][j] = min(O[i][j], O[i-1][j - H[i]] + P[i]);
else O[i][j]=min(O[i][j],P[i]); }
if(O[N][G]==200001)
g<<"-1";
else
g<<O[N][G];
f.close();
g.close();
}