Pagini recente » Cod sursa (job #1398527) | Cod sursa (job #2328760) | Cod sursa (job #2681550) | Cod sursa (job #2211833) | Cod sursa (job #3253068)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
long long dp[15005], sol=INT_MAX;
void setdp() {
for(int i=0; i<15005; i++) {
dp[i]=-1;
}
}
int main()
{
long long n, w, e, c;
fin >> n >> w;
setdp();
dp[0]=0;
for(int i=0; i<n; i++) {
fin >> e >> c;
for(int i=10000; i>=e; i--) {
if(dp[i-e]!=-1 || i-e==0) {
if(dp[i]==-1) {
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;
}