Pagini recente » Cod sursa (job #1731941) | Cod sursa (job #563731) | Cod sursa (job #1470566) | Cod sursa (job #3150377) | Cod sursa (job #1276302)
#include<fstream>
using namespace std;
int n, i, j, g;
int f[5001];
pair<int, int> v[1001];
ifstream fin("energii.in");
ofstream fout("energii.out");
int main(){
fin>> n >> g;
for(i = 1; i <= n; i++){
fin>> v[i].first >> v[i].second;
}
for(i = 1; i <= g; i++){
f[i] = 10000000;
}
for(i = 1; i <= n; i++){
for(j = g; j >= 0; j--){
if(f[j] != 10000000){
if(j + v[i].first >= g){
if(f[g] > f[j] + v[i].second){
f[g] = f[j] + v[i].second;
}
}
else{
if(f[j+v[i].first] > f[j]+v[i].second){
f[j+v[i].first] = f[j] + v[i].second;
}
}
}
}
}
if(f[g] == 10000000){
fout<< -1;
return 0;
}
fout<< f[g];
return 0;
}