Pagini recente » Cod sursa (job #2441130) | Cod sursa (job #2159475) | Cod sursa (job #1317714) | Cod sursa (job #513117) | Cod sursa (job #52620)
Cod sursa(job #52620)
#include<fstream.h>
ifstream f("energii.in");
ofstream g("energii.out");
main()
{
int a[1001],b[1001],suma[12000],ales[12000];
long cost[12000];
int i,j,s,n,g;
f>>n;
f>>s;
for (i=1;i<=n;i++)
{
f>>a[i];
f>>b[i];
}
for (i=1;i<=12000;i++)
{
ales[i]=0;
cost[i]=0;
suma[i]=i;
}
f.close();
cost[a[1]]=b[1];
ales[a[1]]=1;
int imax=a[1];
long sum;
for (i=2;i<=n;i++)
{
cost[a[i]]=b[i];
ales[a[i]]=i;
j=1;
while (j<imax)
{
if (j!=i || ales[j]<i)
{
if (cost[j]!=0)
{
sum=suma[j]+a[i];
cost[sum]=cost[j]+b[i];
ales[sum]=j;
if (sum>imax)
imax=sum;
}
}
i++;
}
}
long min=cost[s];
for (i=s;i<=imax;i++)
if(cost[i]<min && cost[i]!=0)
min=cost[i];
g<<min;
}