Pagini recente » Cod sursa (job #1770822) | Cod sursa (job #3148054) | Cod sursa (job #501986) | Cod sursa (job #1862677) | Cod sursa (job #2415194)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,e,d[20005];
bool dp[20005];
struct generator
{
int cost,energie;
}v[1005];
inline bool comp(generator a,generator b)
{
return a.cost<b.cost;
}
int main()
{
f>>n>>e;
for(int i=1;i<=n;i++)
f>>v[i].energie>>v[i].cost;
sort(v+1,v+n+1,comp);
int maxi=0;
dp[0]=1;
for(int i=1;i<=n;i++)
{
for(int j=maxi;j>=0;--j)
if(dp[j]&&!dp[v[i].energie+j])
{
dp[v[i].energie+j]=1;
d[v[i].energie+j]=d[j]+v[i].cost;
}
}
int p=e;
while(!dp[p]) p++;
g<<d[p]<<'\n';
return 0;
}