CF1845D.Rating System

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are developing a rating system for an online game. Every time a player participates in a match, the player's rating changes depending on the results.

Initially, the player's rating is 00. There are nn matches; after the ii-th match, the rating change is equal to aia_i (the rating increases by aia_i if aia_i is positive, or decreases by ∣ai∣|a_i| if it's negative. There are no zeros in the sequence aa).

The system has an additional rule: for a fixed integer kk, if a player's rating has reached the value kk, it will never fall below it. Formally, if a player's rating at least kk, and a rating change would make it less than kk, then the rating will decrease to exactly kk.

Your task is to determine the value kk in such a way that the player's rating after all nn matches is the maximum possible (among all integer values of kk). If there are multiple possible answers, you can print any of them.

你正在为一款在线游戏开发一个评分系统。每当玩家参加一场比赛时,其评分将根据比赛结果发生变化。

初始时,玩家的评分为 00。共有 nn 场比赛;在第 ii 场比赛后,评分变化量为 aia_i(若 aia_i 为正,则评分增加 aia_i;若 aia_i 为负,则评分减少 ∣ai∣|a_i|。序列 aa 中不含零)。

该系统还有一条附加规则:对某个固定的整数 kk,若玩家的评分曾达到过值 kk,则此后其评分将永远不会低于 kk。形式化地讲,若玩家当前评分为至少 kk,而某次评分变化会使评分低于 kk,则该次变化后评分将恰好变为 kk。

你的任务是确定整数 kk 的取值,使得玩家经过全部 nn 场比赛后的最终评分为所有可能的整数 kk 中的最大值。若存在多个满足条件的 kk,输出任意一个即可。

输入格式

The first line contains a single integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases.

The first line of each test case contains a single integer nn (1≤n≤3⋅1051 \le n \le 3 \cdot 10^5) — the number of matches.

The second line contains nn integer a1,a2,…,ana_1, a_2, \dots, a_n (−109≤ai≤109-10^9 \le a_i \le 10^9; ai≠0a_i \ne 0) — the rating change after the ii-th match.

The sum of nn over all test cases doesn't exceed 3⋅1053 \cdot 10^5.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤3⋅1051 \le n \le 3 \cdot 10^5)—— 比赛场数。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(−109≤ai≤109-10^9 \le a_i \le 10^9;ai≠0a_i \ne 0)—— 第 ii 场比赛后的评分变化量。

所有测试用例的 nn 之和不超过 3⋅1053 \cdot 10^5。

输出格式

For each test case, print one integer mm (−1018≤m≤1018-10^{18} \le m \le 10^{18}) — the value of kk such that the rating of the player will be the maximum possible when using this value. It can be shown that at least one of the optimal answers meets the constraint −1018≤m≤1018-10^{18} \le m \le 10^{18}.

对于每个测试用例,输出一个整数 mm(−1018≤m≤1018-10^{18} \le m \le 10^{18})—— 即使得玩家评分为最大可能值的 kk 的取值。可以证明,至少存在一个最优解满足约束 −1018≤m≤1018-10^{18} \le m \le 10^{18}。

输入输出样例

  • 输入#1

    4
    4
    3 -2 1 2
    3
    -1 -2 -1
    2
    4 2
    7
    5 1 -3 2 -1 -2 2

    输出#1

    3
    0
    25
    6

说明/提示

In the first example, if k=3k=3, then the rating changes as follows: 0→3→3→4→60 \rightarrow 3 \rightarrow 3 \rightarrow 4 \rightarrow 6.

In the second example, if k=0k=0, then the rating changes as follows: 0→0→0→00 \rightarrow 0 \rightarrow 0 \rightarrow 0.

In the third example, if k=25k=25, then the rating changes as follows: 0→4→60 \rightarrow 4 \rightarrow 6.

In the fourth example, if k=6k=6, then the rating changes as follows: 0→5→6→6→8→7→6→80 \rightarrow 5 \rightarrow 6 \rightarrow 6 \rightarrow 8 \rightarrow 7 \rightarrow 6 \rightarrow 8.

在第一个例子中,若 k=3k=3,则评分变化如下:0→3→3→4→60 \rightarrow 3 \rightarrow 3 \rightarrow 4 \rightarrow 6。

在第二个例子中,若 k=0k=0,则评分变化如下:0→0→0→00 \rightarrow 0 \rightarrow 0 \rightarrow 0。

在第三个例子中,若 k=25k=25,则评分变化如下:0→4→60 \rightarrow 4 \rightarrow 6。

在第四个例子中,若 k=6k=6,则评分变化如下:0→5→6→6→8→7→6→80 \rightarrow 5 \rightarrow 6 \rightarrow 6 \rightarrow 8 \rightarrow 7 \rightarrow 6 \rightarrow 8。

输入解题思路,AI测评打分。不知道怎么写?

首页