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();
}