Cod sursa(job #625435)
Utilizator | Data | 24 octombrie 2011 18:37:36 | |
---|---|---|---|
Problema | Energii | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.63 kb |
#include<stdio.h>
#define N 1005
long n,m,i,j,e[N],c[N],s[5*N],r[5*N];
int main()
{freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%ld%ld",&n,&m);
for(j=1;j<=n;j++)
{scanf("%ld%ld",&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]=N*N;
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];}
printf("%ld",s[m]);
return 0;}