NKTICK - Xếp hàng mua vé

Tác giả: skyvn97

Ngôn ngữ: C++

#include<stdio.h>
#define MAX   77777
long t[MAX];
long r[MAX];
long f[MAX];
long g[MAX];
long n;
long min(long x,long y)
{
     if (x<y) return (x); else return (y);     
}
void init(void)
{
     long i;
     scanf("%ld",&n);
     for (i=1;i<=n;i=i+1) scanf("%ld",&t[i]);
     for (i=1;i<n;i=i+1)  scanf("%ld",&r[i]);
}
void optimize(void)
{
     long i;
     f[1]=t[1];
     g[1]=1<<20;
     f[2]=t[1]+t[2];
     g[2]=r[1];
     for (i=3;i<=n;i=i+1)
         {
          f[i]=min(f[i-1],g[i-1])+t[i];
          g[i]=min(f[i-2],g[i-2])+r[i-1];
         }                        
     printf("%ld",min(f[n],g[n]));
}
int main(void)
{
    init();
    optimize();
}

Download