Pagini recente » Cod sursa (job #1367581) | Cod sursa (job #1802708) | Cod sursa (job #645004) | Cod sursa (job #3180500) | Cod sursa (job #3252905)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
long long dp[10005], sol=INT_MAX;
int main()
{
long long n, w, e, c;
fin >> n >> w;
for(int i=0; i<n; i++) {
fin >> e >> c;
for(int i=10000; i>=e; i--) {
if(dp[i-e]!=0 || i-e==0) {
if(dp[i]==0) {
dp[i]=dp[i-e]+c;
} else {
dp[i]=min(dp[i-e]+c, dp[i]);
}
}
}
}
for(int i=w; i<10001; i++) {
if(dp[i]>0) {
sol=min(sol, dp[i]);
}
}
if(sol!=INT_MAX) {
fout << sol;
} else {
fout << "-1";
}
return 0;
}