Pagini recente » Cod sursa (job #2008050) | Rating Arsenov Oriana (Vanesa) | Cod sursa (job #2267944) | Cod sursa (job #587940) | Cod sursa (job #2096095)
#include <fstream>
#define DIM 1005
#define INF 1e9
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n, G, e, c;
int dp[DIM][5 * DIM];
void reset(){
for(int i = 1; i <= G; ++ i){
dp[1][i] = INF;
dp[0][i] = INF;
}
}
int main()
{
f>>n>>G;
f>>e>>c;
reset();
dp[1][e] = c;
int t = 0;
for(int i = 2; i <= n; ++ i){
f>>e>>c;
for(int j = 0; j <= G; ++ j){
if(j - e >= 0)
dp[t][j] = min(dp[1 - t][j], dp[1 - t][j - e] + c);
else
dp[t][j] = dp[1 - t][j];
}
t = 1 - t;
}
t = 1 - t;
if(dp[t][G] == INF)
g<<-1;
else
g<<dp[t][G];
return 0;
}