Pagini recente » Cod sursa (job #1116498) | Cod sursa (job #1653427) | Cod sursa (job #2081368) | Cod sursa (job #619859) | Cod sursa (job #1453481)
#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;
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;
}