Pagini recente » Cod sursa (job #2244383) | Cod sursa (job #2288000) | Cod sursa (job #1660811) | Cod sursa (job #810557) | Cod sursa (job #2209280)
/*****************
~LeTeutz~
*****************/
#include <bits/stdc++.h>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
const int INF=20001;
int N,E;
int e[1001],c[1001];
int dp[2][5001];
int main()
{
f>>N>>E;
for(int i=1; i<=N; i++)
f>>e[i]>>c[i];
for(int i=1; i<=E; i++)
dp[0][i] = INF;
bool ok = 0;
for(int i=1; i<=N; i++){
for(int j=1; j<=E; j++){
if( j-e[i] < 1)
dp[1-ok][j] = min( dp[ok][j] , c[i]);
else{
dp[1-ok][j] = min( dp[ok][j] , dp[ok][j-e[i]] + c[i]);
}
}
ok=!ok;
}
if( dp[ok][E] != INF)
g<<dp[ok][E]<<"\n";
else
g<<-1<<"\n";
return 0;
}