Pagini recente » Cod sursa (job #1168710) | Cod sursa (job #2838922) | Cod sursa (job #990510) | Cod sursa (job #3146287) | Cod sursa (job #2228895)
#include <fstream>
using namespace std;
pair <int, int> A[1005];
int n, E, c, e, i, j, Min=200000000, suma;
int v[10005];
int main () {
ifstream fin ("energii.in");
ofstream fout ("energii.out");
fin>>n>>E;
for (i=1;i<=n;i++) {
fin>>A[i].first>>A[i].second;
suma+=A[i].first;
}
if (suma<E) {
fout<<-1;
return 0;
}
for (i=1;i<=suma;i++) {
v[i]=200000000;
}
for (i=1;i<=suma;i++) {
e=A[i].first;
c=A[i].second;
for (j=suma-e;j>=0;j--) {
if (v[j]!=200000000) {
if (v[j+e]>v[j]+c)
v[j+e]=v[j]+c;
}
}
}
for (i=E;i<=suma;i++) {
Min=min(Min, v[i]);
}
fout<<Min;
return 0;
}