soj2813过河.cpp

来自「一些ACM题目的解答,主要是soj和poj的」· C++ 代码 · 共 32 行

CPP
32
字号
#include<stdio.h>
#include<algorithm>
using namespace std;


int zuiyou(int a[],int n)
{
    if(n==1)
        return a[0];
    else if(n==2)
        return a[1];
    else if(n==3)
        return a[0]+a[1]+a[2];
    else
    {
        return zuiyou(a,n-2)+((2*a[1]>=a[0]+a[n-2])?(a[n-1] + a[0] + a[n-2] + a[0]):(a[1] + a[0] + a[n-1] + a[1]));
    }
}
int main(void)
{
    int a[10000];
    int i,n;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++)
            scanf("%d",a+i);
        sort(a,a+n);
        printf("%d\n",zuiyou(a,n));
    }
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?