Pagini recente » Cod sursa (job #1506896) | Cod sursa (job #2791024) | Cod sursa (job #2447647) | Cod sursa (job #2379024) | Cod sursa (job #2207886)
#include <fstream>
#define MAX 1e9
#define N 10000
using namespace std;
int dp[N+5];
int main()
{
ifstream f("energii.in");
ofstream g("energii.out");
int n,G;
f>>n>>G;
for(int i=1;i<=N;i++)
dp[i]=MAX;
for(int i=1;i<=n;i++)
{
int e,cost;
f>>e>>cost;
for(int j=G;j>=1;j--)
{
if(dp[j]!=MAX)
dp[j+e]=min(dp[j+e],dp[j]+cost);
}
dp[e]=min(dp[e],cost);
}
int mini=MAX;
for(int i=G;i<=N;i++)
mini=min(mini,dp[i]);
if(mini==MAX)
g<<-1;
else
g<<mini;
return 0;
}