Pagini recente » Cod sursa (job #1644826) | Cod sursa (job #195557) | Cod sursa (job #2216061) | Cod sursa (job #1489300) | Cod sursa (job #3253072)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
long long dp[2][15005], sol=INT_MAX;
void setdp() {
for(int i=0; i<15005; i++) {
dp[0][i]=dp[1][i]=INT_MAX;
}
}
int main()
{
int n, w, e, c, q=1;
fin >> n >> w;
setdp();
dp[0][0]=dp[1][0]=0;
for(int i=0; i<n; i++) {
fin >> e >> c;
for(int j=0; j<=w; j++) {
dp[q][j+e]=min(min(dp[1-q][j]+c, dp[1-q][j+e]), dp[q][j+e]);
}
q=1-q;
}
for(int i=w; i<=w+10000; i++) {
sol=min(sol, dp[1-q][i]);
}
if(sol!=INT_MAX) {
fout << sol;
} else {
fout << "-1";
}
return 0;
}