Pagini recente » Cod sursa (job #704149) | Cod sursa (job #2143813) | Cod sursa (job #1365290) | Cod sursa (job #2041415) | Cod sursa (job #2205686)
#include <fstream>
#include <cstring>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
const int LIM = 20005, INF = 1e9;
int n, w, dp[LIM];
int main()
{
for(int i = 1; i < LIM; ++i)
dp[i] = INF;
cin >> n >> w;
while( n-- )
{
int e, c;
cin >> e >> c;
for(int i = w - 1; i >= 0; --i)
dp[ i + e ] = min(dp[ i + e ], dp[i] + c);
}
int minim = INF;
for(int i = w; i < LIM; ++i)
minim = min(minim, dp[i]);
if(minim == INF)
cout << -1;
else
cout << minim;
return 0;
}