Pagini recente » Cod sursa (job #2169638) | Cod sursa (job #2465173) | Cod sursa (job #1359687) | Cod sursa (job #2118244) | Cod sursa (job #2772997)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("energii.in");;
ofstream fout("energii.out");
const int INF = 1e9;
const int DIM = 1e7 + 5;
int n, ENG, out, i, j, E[1005], P[1005], f[DIM];
int main(){
fin >> n >> ENG;
for (i = 1; i <= n; i++){
fin >> E[i] >> P[i];
}
for (i = 1; i <= DIM; i++)
f[i] = INF;
for (i = 1; i <= n; i++){
for (j = DIM - E[i]; j >= 0; j--){
if ( f[j] != INF ){
if ( f[ j + E[i] ] > f[j] + P[i] )
f[ j + E[i] ] = f[j] + P[i];
}
}
}
out = INF;
for (i = ENG; i <= DIM; i++){
out = min(out, f[i]);
}
if (out == INF)
fout << "-1";
else
fout << out;
return 0;
}