Pagini recente » Cod sursa (job #2983898) | Cod sursa (job #252274) | Cod sursa (job #864563) | Cod sursa (job #2708928) | Cod sursa (job #1754960)
#include <iostream>
#include <fstream>
using namespace std;
int e[1005], c[1005], a[1005][1005], n, k, i, j;
void solve(){
ofstream g("energii.out");
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];
g.close();
}
void citeste(){
ifstream f("energii.in");
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;
f.close();
}
int main()
{
citeste();
solve();
return 0;
}