Pagini recente » Cod sursa (job #118958) | Cod sursa (job #84350) | Cod sursa (job #2732236) | Cod sursa (job #3285261) | Cod sursa (job #1277191)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n, m, i, j, k, ok, minim;
pair < int , int > v[2000];
int w[100001], t[100001];
int main(){
fin >> n >> k;
for(i = 1; i <= n; i ++)
fin >> v[i].first >> v[i].second;
w[0] = 1; minim = 2000000000;
for(i = 0; i <= k + 10000; i ++){
if(w[i] == 1){
for(j = 1; j <= n; j ++){
if(w[i + v[j].first] == 0){
w[i + v[j].first] = 1;
t[i + v[j].first] = t[i] + v[j].second;
}
else
if(w[i + v[j].first] == 1){
if(t[i +v[j].first] > t[i] + v[j].second)
t[i +v[j].first] > t[i] + v[j].second;
}
}
if(i >= k && t[i] < minim)
minim = t[i];
}
}
fout << minim;
return 0;
}