Pagini recente » Cod sursa (job #2951869) | Cod sursa (job #442058) | Cod sursa (job #2613340) | Cod sursa (job #1893346) | Cod sursa (job #257953)
Cod sursa(job #257953)
#include<stdio.h>
#include<string.h>
int i,j,k,l,m,n,a,c,G;
unsigned long long int v[1000000],z;
int main(){
FILE *f=fopen("energii.in","r");
fscanf(f,"%d %d",&n,&G);
for(i=1;i<=G+1;i++)
v[i]=1000000000;
for(i=1;i<=n;i++)
{fscanf(f,"%d%d",&a,&c);
for(j=G;j>=1;j--)
{m=j+a;
if(m>G)m=G;
if(v[m] > (v[j]+c))
v[m]=v[j]+c;
if(v[m] > v[m+1])v[m]=v[m+1];
}
for(j=1;j<=a;j++)
if(v[j]>c)
v[j]=c;
}
fclose(f);
FILE *g=fopen("energii.out","w");
if(v[G]==1000000000)
fprintf(g,"%d",-1);
else
fprintf(g,"%ld",v[G]);
fclose(g);
return 0;
}