Pagini recente » Cod sursa (job #472913) | Cod sursa (job #1019396) | Cod sursa (job #673572) | Cod sursa (job #472976) | Cod sursa (job #2471758)
#include<bits/stdc++.h>
using namespace std;
#define INF 99999999
ifstream in("energii.in");
ofstream out("energii.out");
int elemente,profit[1001],cost[1001];
int capacitate;
void read()
{
in>>elemente>>capacitate;
for(int i=0; i<elemente; i++)
{
in>>profit[i]>>cost[i];
}
}
int dp[1002][5002];
int dpp()
{
for(int i=0; i<elemente; i++)
{
for(int k=0; k<=capacitate; k++)
{
if(i==0)
{
if(profit[i]<k)
{
dp[i][k]=INF;
}
else
dp[i][k]=cost[0];
}
else
{
int rest=k-profit[i];
int a=0;
if(rest>0)
a=dp[i-1][rest];
dp[i][k]=min(cost[i]+a, dp[i-1][k]);
}
}
}
int result=dp[elemente-1][capacitate];
if(result==INF)
out<<-1;
else
out<<result;
}
int main()
{
read();
dpp();
}