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;
}
posted @ 2020-07-12 23:29  caoanda  阅读(342)  评论(0编辑  收藏  举报