Cod sursa(job #30737)

Utilizator bog_bejBeju Bogdan bog_bej Data 14 martie 2007 22:59:21
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
int n,t, c[1001], e[1001], p[5100], min, max;

int main()
{ int i,j;
  freopen("energii.in","rt",stdin);
  freopen("energii.out","wt",stdout);
  scanf("%d %d",&n,&t);
  for(i=0;i<n;i++)
    scanf("%d %d",&e[i],&c[i]);
  p[0]=1;
  for(i=0;i<n;i++)
    for(j=t-1;j>=0;j--)
     if(p[j])
      if(!p[j+e[i]]||p[j+e[i]]>p[j]+c[i])
      	p[j+e[i]]=p[j]+c[i];     
  for(min=100000,i=t;i<5100;i++)
    if(p[i]&&p[i]<min) min=p[t];
  if(min<100000) printf("%d\n",min-1);
  else printf("-1\n");
  return 0;
}