NKCABLE - Nối mạng

Tác giả: skyvn97

Ngôn ngữ: C++

#include<stdio.h>
#define MAX   30000
long opt[MAX];
long dis[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);
     dis[1]=0;
     for (i=2;i<=n;i=i+1)
         {
          scanf("%ld",&dis[i]);
          dis[i]=dis[i]+dis[i-1];
         }
}
void optimize(void)
{
     long i;
     opt[1]=0;
     opt[2]=dis[2];
     opt[3]=dis[3];
     for (i=4;i<=n;i=i+1)
         opt[i]=min(opt[i-1],opt[i-2])+dis[i]-dis[i-1];
     printf("%ld",opt[n]);
}
int main(void)
{
    //freopen("CABLE.INP","r",stdin);
    //freopen("CABLE.OUT","w",stdout);
    init();
    optimize();
}

Download