小A喜欢坐地铁。地铁环线有 n 个车站,依次以 1, 2, \ldots, n 标号。车站 i ( 1 \leq i < n )的下一个车站是车站 i + 1 。特殊地,车站 n 的下一个车站是车站 1 。
小A会从某个车站出发,乘坐地铁环线到某个车站结束行程,这意味着小A至少会经过一个车站。小A不会经过一个车站多次。当小A乘坐地铁环线经过车站 i 时,小A会获得 a_i 点快乐值。请你安排小A的行程,选择出发车站与结束车站,使得获得的快乐值总和最大。
第一行,一个正整数 n ,表示车站的数量。
第二行, n 个整数 a_1, a_2, \ldots, a_n ,分别表示经过每个车站时获得的快乐值。
一行,一个整数,表示小A能获得的最大快乐值。
4 -1 2 3 0
5
5 -3 4 -5 1 3
5
对于20%的测试点,保证 1 \leq n \leq 200。
对于40%的测试点,保证 1 \leq n \leq 2000。
对于所有测试点,保证 1 \leq n \leq 2 \times 10^5,-10^9 \leq a_i \leq 10^9。
2025年GESP 3月认证C++六级真题