Pagini recente » Cod sursa (job #2917894) | Cod sursa (job #2888951) | Cod sursa (job #368654) | Cod sursa (job #1813596) | Cod sursa (job #2496889)
#include <algorithm>
#include <stack>
#include <queue>
#include <deque>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <cstring>
using namespace std;
//#include <iostream>
#include <fstream>
//ifstream cin ("input.in");
//ofstream cout ("output.out");
ifstream cin ("energii.in");
ofstream cout ("energii.out");
static const int NMAX = 5e3+5;
static const int ENMAX = 1e7+5;
int dp[NMAX];
pair <int, int> gen[ENMAX];
int main() {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n, w;
cin>>n>>w;
int total = 0;
for ( int i = 1; i <= n; ++i ) {
cin>>gen[i].first>>gen[i].second;
}
for ( int i = 1; i <= w; ++i ) {
dp[i] = 1e9;
}
for ( int i = 1; i <= n; ++i ) {
for ( int j = w; j >= 0; --j ) {
int k = min(j+gen[i].first, w);
dp[k] = min(dp[k], dp[j] + gen[i].second);
}
}
cout<<dp[w]<<'\n';
}