Pagini recente » Cod sursa (job #1854361) | Cod sursa (job #3151817) | Cod sursa (job #2714052) | Cod sursa (job #1266294) | Cod sursa (job #2935942)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int N = 1e3, G = 1e4, inf = 1e9;
struct generator{
int energy, cost;
}v[N + 1];
int dp[G + 1];
int main(){
int n, g, ans;
fin >> n >> g;
for ( int i = 1; i <= n; i++ )
fin >> v[i].energy >> v[i].cost;
for ( int j = 1; j <= G; j++ )
dp[j] = inf;
for ( int i = 1; i <= n; i++ )
for ( int j = G; j >= v[i].energy; j-- )
dp[j] = min(dp[j], dp[j - v[i].energy] + v[i].cost);
ans = inf;
for ( int i = g; i <= G; i++ )
ans = min(ans, dp[i]);
if(ans == inf)
fout << -1;
else
fout << ans;
return 0;
}