给定一个长度为n(n是偶数 )的序列a1,a2,....,an ,还有一个初始时为空的队列s。 令i依次等于1,2,...,n,你需要执行以下两个操作之一:
将a[加入当前队列的队尾
删除队头(执行此操作时,你需要保证队列不为空) 请求出在执行完所有操作后,队列s中所有元素之和的最大值。
给定一个长度为n(n是偶数 )的序列a1,a2,....,an ,还有一个初始时为空的队列s。 令i依次等于1,2,...,n,你需要执行以下两个操作之一:
将a[加入当前队列的队尾
删除队头(执行此操作时,你需要保证队列不为空) 请求出在执行完所有操作后,队列s中所有元素之和的最大值。
第一行一个正整数n。
接下来一行n个整数a1,a2,...,an。
6
3 -1 -4 5 -9 2
7
说明/提示
i=1:a1入队,当前队列:[3]
i=2: a2入队,当前队列:[3,-1]
i=3: a1出队,当前队列:[-1]
i=4: a4入队,当前队列:[-1,5]
i=5:出队,当前队列:[5]
i=6:a6入队,当前队列:[5,2]
最终,队列总和 = 5+2 = 7,
可以证明,这样操作是最优解
数据范围:
对于20%的数据,n<=20 。
对于另外10%的数据,ai>=0 。
对于另外10%的数据,ai<=0 。
对于100%的数据,1<=n<=10^5 ,-10^9<=ai<=10^9 ,保证 n是偶数 。