Pagini recente » Cod sursa (job #1243547) | Cod sursa (job #1740303) | Cod sursa (job #1810595) | Cod sursa (job #1103711) | Cod sursa (job #1754957)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int e[1005], c[1005], a[1005][1005], n, k, i, j;
int main()
{
f >> n >> k;
for( i = 1; i <= n; i++)
f >> e[i] >> c[i];
for(i = 0 ; i <= n ; ++ i)
for( j = 1 ; j <= k ; ++ j)
a[i][j] = 10000000;
for(i = 1; i <= n; i++)
for(j = 1; j <= k; j++){
a[i][j] = a[i - 1][j];
if(j >= e[i])
a[i][j] = min(a[i][j], a[i-1][j - e[i]] + c[i]);
else if(j <= e[i])
a[i][j] = min(a[i][j], c[i]);
}
if(a[n][k] == 10000000)
g << "-1";
else
g << a[n][k];
return 0;
}