#P627. 圆环独立集(一)

圆环独立集(一)

题目描述

给定一个长度为 nn 的环状数列 a1,a2,,ana_1,a_2,\cdots, a_n,请从中间挑选出一些数字组成一个独立集,使得该独立集中的数字之和达到最大。

所谓环状,是指在考虑相邻关系时,需要把 a1a_1ana_n 也看做是一对邻居。所谓独立集,就是挑选出的数字在原来的圆环上不能相邻。

输入格式

  • 第一行:单个整数表示 nn
  • 第二行:nn 个整数表示 a1,a2,,ana_1, a_2, \cdots, a_n

输出格式

  • 单个整数:表示独立集的数字之和的最大值。
5
1 1 1 1 1
2
6
100 1 1 100 1 1
200

样例解释 2

这个例子告诉我们最优独立集不一定是最大独立集

数据范围

  • 对于 30%30\% 的数据,1n201\leq n\leq 20
  • 对于 60%60\% 的数据,1n50001\leq n\leq 5000
  • 对于 100%100\% 的数据,1n500,0001\leq n\leq 500,000
  • 1ai1,000,0001\leq a_i\leq 1,000,000