Pagini recente » Atasamentele paginii Profil blast3r88 | Istoria paginii utilizator/matei.stefan89 | Cod sursa (job #378554) | Borderou de evaluare (job #2454789) | Cod sursa (job #2403528)
#include <iostream>
#include <fstream>
#include <vector>
#include <climits>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int inf = (1 << 30);
#define For(i, a, b) for(i = (a); i <= (b); i++)
#define EMax 10001
int g, w;
vector<int> ce;
int main(){
int i;
int e, c;
int emax = 0;
fin >> g >> w;
ce.resize(w + EMax, inf);
ce[0] = 0;
while(g--){
fin >> e >> c;
emax = max(emax, e);
for(i = w + e - 1; i >= e; i--) ce[i] = min(ce[i], ce[i - e] + c);
}
int rez = inf;
for(i = w; i < w + emax; i++) rez = min(rez, ce[i]);
if(rez == inf) fout << -1;
else fout << rez;
}