Pagini recente » Cod sursa (job #2535020) | Cod sursa (job #2512654) | Cod sursa (job #2126637) | Cod sursa (job #1249010) | Cod sursa (job #2049325)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
int c,g,e,w,dp[5002];
void functie1(int E,int C)
{
for(int i=w;i>=E;i--)
dp[i]=min(dp[i], dp[i-E]+C);
}
void functie2(int E, int C)
{
for(int i=E;i>=1;i--)
dp[i]=min(dp[i],C);
}
int citire()
{
for(int i=1;i<=5001;i++)
dp[i]=2000000000;
fin>>g>>w;
for(int i=1;i<=g;i++)
{
fin>>e>>c;
functie1(e,c);
functie2(e,c);
}
if(dp[w]!=2000000000)
return dp[w];
else
return -1;
}
int main()
{
fout<<citire();
return 0;
}