Cod sursa(job #142778)

Utilizator FlorianFlorian Marcu Florian Data 25 februarie 2008 09:47:43
Problema Heavy metal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
#define max(a,b) ((a)>(b)?(a):(b))
FILE*f=fopen("heavymetal.in","r");
FILE*g=fopen("heavymetal.out","w");
int a[100000],b[100000],best[100000],n,Tmax;
int main()
  {
  int i,j, k=1;
  fscanf(f,"%d",&n);
  for(i=1;i<=n;++i) {
    fscanf(f,"%d %d",&a[i],&b[i]);
    if(b[i]>Tmax) Tmax=b[i];
    }
  for(i=1;i<=Tmax;++i)
    {
    best[i]=best[i-1];
      for(j=1;j<=b[j];++j)
       {
	if(b[j]==i) best[i]=max(best[i],best[a[j]]+(b[j]-a[j]));
       }
     }
  fprintf(g,"%d\n",best[Tmax]);
  return 0;
  }