给定一个长度为 nn 的环形整数数组 a1,a2,…,ana1,a2,…,an,其中 anan 与 a1a1 首尾相连。现在你需要从中选取若干个元素,满足以下约束:
选取的元素不能相邻(在环上,aiai 与 ai+1ai+1 相邻,anan 与 a1a1 相邻)。
至少要选取一个元素。
求所有合法方案中,被选取元素之和的最大值。
第一行:一个整数 nn,表示数组长度(1≤n≤1051≤n≤105)。
第二行:nn 个整数 a1,a2,…,ana1,a2,…,an,表示环形数组中的元素(−104≤ai≤104−104≤ai≤104)。
4 10 1 10 1
20
对于 30%30% 的数据,1≤n≤201≤n≤20。
对于 60%60% 的数据,1≤n≤50001≤n≤5000。
对于 100%100% 的数据,1≤n≤1051≤n≤105,−104≤ai≤104−104≤ai≤104。