Cod sursa(job #1474972)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 23 august 2015 12:34:35
Problema Energii Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
int n,m,i,j,e[1005],c[1005],s[5050],r[5050];
int main() {
	freopen("energii.in","r",stdin),freopen("energii.out","w",stdout),scanf("%d%d",&n,&m);
	for(j=1;j<=n;j++) {
		scanf("%d%d",&e[j],&c[j]);
      	for(i=1;i<=m;i++)
      	if(i<=e[j])
            if(j==1)
                s[i]=c[j];
            else
                s[i]=r[i]<c[j]?r[i]:c[j];
      	else if(j==1)
            s[i]=1000001;
        else
            s[i]=(r[i]<c[j]+r[i-e[j]])?r[i]:(c[j]+r[i-e[j]]);
      	for(i=1;i<=m;i++)
            r[i]=s[i];
	}
	if(s[m]!=1000001)
      	printf("%d",s[m]);
	else
      	printf("-1");
}