Pagini recente » Cod sursa (job #261050) | Cod sursa (job #2800536) | Cod sursa (job #1640536) | Cod sursa (job #2073559) | Cod sursa (job #1573373)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int s[10001],c[1001],p[1001],n,d,rez=-1;
void citire()
{
f>>n>>d; int i;
for(i=1;i<=n;i++)
f>>p[i]>>c[i];
f.close();
}
void dinamica()
{
int max1=0,j,i;
for(i=1;i<=10000;i++)s[i]=-1;
for(i=1;i<=n;i++)
for(j=max1;j>=0;j--)
if((s[p[i]+j]>s[j]+c[i]&&s[j]!=-1)||(s[p[i]+j]==-1&&s[j]!=-1))
{
s[p[i]+j]=s[j]+c[i];
if(max1<p[i]+j)max1=p[i]+j;
if(p[i]+j>=d)
if(rez==-1||rez>s[p[i]+j])
rez=s[p[i]+j];
}
g<<rez; cout<<s[7];
}
int main()
{
citire();
dinamica();
return 0;
}