Omkar and Circle

D - Omkar and Circle

参考:Codeforces Round #655 (Div. 2) 题解 (ABCD)

由题意可得,每次只取((n+1)/2)个数,且只有一对数相邻。最后选取位置是奇数位或者偶数位。

用几个样例手推,来发现规律

// Created by CAD on 2020/7/12.
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int maxn=2e5+5;
ll a[maxn],pre[maxn],suf[maxn];

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;cin>>n;
    for(int i=1;i<=n;++i)
        cin>>a[i],pre[i]=suf[i]=a[i];
    for(int i=3;i<=n;++i)
        pre[i]+=pre[i-2];
    for(int i=n-2;i>=1;--i)
        suf[i]+=suf[i+2];
    ll ans=0;
    for(int i=1;i<=n;++i)
        ans=max(ans,pre[i]+suf[i+1]);
    cout<<ans<<endl;
    return 0;
}
CAD加油!欢迎跟我一起讨论学习算法,QQ:1401650042
原文地址:https://www.cnblogs.com/CADCADCAD/p/13290688.html