Cod sursa(job #2774970)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 13 septembrie 2021 18:46:02
Problema Oo Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
#define M(a,b) ((a)<(b)?(b):(a))
int n,a[100001],i,b[100000],c[100001],d[99999];
int main()
{
    freopen("oo.in","r",stdin),freopen("oo.out","w",stdout),scanf("%d",&n);
    for(i=1;i<=n;++i)
        scanf("%d",a+i);
    b[2]=a[1]+a[2],c[3]=a[2]+a[3],d[1]=a[n]+a[1],b[3]=b[2],c[4]=c[3],d[2]=d[1];
    for(i=4;i<n;++i)
        b[i]=M(b[i-1],b[i-3]+a[i]+a[i-1]);
    for(i=5;i<=n;++i)
        c[i]=M(c[i-1],c[i-3]+a[i]+a[i-1]);
    for(i=3;i<n-1;++i)
        d[i]=M(d[i-1],d[i-3]+a[i]+a[i-1]);
    printf("%d",M(b[n-1],M(c[n],d[n-2])));
    return 0;
}