Pagini recente » Istoria paginii runda/simulare_de_oni_4/clasament | Cod sursa (job #2524849) | Cod sursa (job #832886) | Istoria paginii runda/agm-r1-lacheta/clasament | Cod sursa (job #2710828)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
int N, E;
vector <pair <int , int> > v;
int ans[20001];
main()
{
in >> N >> E;
for (int i = 1;i<=10000;++i)
ans[i] = 1<<30;
for (;N--;)
{
int eng, cost;
in >> eng >> cost;
for (int j = 10000 - eng;j>=0;--j)
if (ans[j]!=1<<30)
ans[j + eng] = min(ans[j + eng], ans[j] + cost);
ans[eng] = min(ans[eng], cost);
}
int anss = 1<<30;
for (int i = E; i<=10000;++i)
anss = min (anss, ans[i]);
if (anss == 1<<30)
out << -1 << '\n';
else
out << anss << '\n';
return 0;
}