Pagini recente » Cod sursa (job #2349631) | Cod sursa (job #2744124) | Cod sursa (job #2056149) | Cod sursa (job #1058283) | Cod sursa (job #1453482)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int Dim = 5100;
const int INF = 10000;
inline int Min(int A,int B)
{
return (A < B) ? A : B;
}
int G,W,dp[Dim];
int main()
{
fin >> G;
fin >> W;
int E,C;
fill(dp,dp + Dim,INF);
while (G--)
{
fin >> E >> C;
if (E > W) continue;
for (int j = W;j >= E;j--)
dp[j] = Min(dp[j],dp[j-E] + C);
dp[E] = Min(dp[E],C);
}
if (dp[W] == INF)
fout << -1;
else
fout << dp[W];
return 0;
}