Pagini recente » Cod sursa (job #577892) | Cod sursa (job #520571) | Cod sursa (job #3002453) | Cod sursa (job #2747006) | Cod sursa (job #943806)
Cod sursa(job #943806)
#include<cstring>
#include<fstream>
using namespace std;
int ksup = 1e6 + 1;
int dp[1005][5005];
int main(){
ifstream in("energii.in");
ofstream out("energii.out");
int n, s;
in >> n >> s;
memset(dp, 1337, sizeof(dp));
dp[0][0] = 0;
for(int i = 1; i <= n; ++i){
int x, y;
in >> x >> y;
for(int j = 0; j <= s; ++j){
dp[i][j] = min(dp[i][j], dp[i - 1][j]);
if(j + x > s)
dp[i][s] = min(dp[i - 1][j] + y, dp[i][s]);
else
dp[i][j + x] = min(dp[i - 1][j] + y, dp[i][j + x]);
}
}
if(dp[n][s] > ksup)
out << "-1";
else
out << dp[n][s];
return 0;
}