求解地铁环线最大快乐值(环形数组最大子段和)
类型:程序题

时间限制:1.0s

内存限制:512.0MB

题目描述

小A喜欢坐地铁。地铁环线有n个车站,依次以1,2,…,n标号。车站i(1≤i<n)的下一个车站是车站i+1。特殊地,车站n的下一个车站是车站1。

小A会从某个车站出发,乘坐地铁环线到某个车站结束行程,这意味着小A至少会经过一个车站。小A不会经过一个车站多次。当小A乘坐地铁环线经过车站i时,小A会获得$a_i$点快乐值。请你安排小A的行程,选择出发车站与结束车站,使得获得的快乐值总和最大。

输入格式

第一行,一个正整数n,表示车站的数量。 第二行,n个整数$a_1,a_2,…,a_n$,分别表示经过每个车站时获得的快乐值。

输出格式

一行,一个整数,表示小A能获得的最大快乐值。

样例

输入样例1
4
-1 2 3 0
输出样例1
5
输入样例2
5
-3 4 -5 1 3
输出样例2
5

数据范围

  • 对于20%的测试点,保证$1≤n≤200$。
  • 对于40%的测试点,保证$1≤n≤2000$。
  • 对于所有测试点,保证$1≤n≤2×10^5$,$-10^9≤a_i≤10^9$。
代码编辑器
测试用例(F10) 运行测试(F11) 提交答案(F12)
测试用例输入
{{resultStatus.text}}