Pagini recente » Cod sursa (job #1640397) | Cod sursa (job #2160168) | Cod sursa (job #2893138) | Monitorul de evaluare | Cod sursa (job #1277210)
#include <fstream>
#define INF 1000000000
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n, m, i, j, k, ok, minim, poz;
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;
//w[i] = costul minim sa obtin exact energie i
for (i=1;i<=k;i++)
w[i] = INF;
w[0] = 0;
for (i=1;i<=n;i++) {
for (j=k-1;j>=0;j--)
if (w[j] != INF) {
if (j+v[i].first >= k)
poz = k;
else
poz = j+v[i].first;
if (w[poz] > w[j] + v[i].second)
w[poz] = w[j] + v[i].second;
}
}
fout << w[k];
return 0;
}