Cod sursa(job #30778)

Utilizator bog_bejBeju Bogdan bog_bej Data 15 martie 2007 07:34:12
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
int n,t, c[1001], e[1001], p[5500], 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=10000000,i=t;i<5500;i++)
    if(p[i]&&p[i]<min) min=p[i];
  if(min<10000000) printf("%d\n",min-1);
  else printf("-1\n");
  return 0;
}