CF808D.Array Division

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Vasya has an array a consisting of positive integer numbers. Vasya wants to divide this array into two non-empty consecutive parts (the prefix and the suffix) so that the sum of all elements in the first part equals to the sum of elements in the second part. It is not always possible, so Vasya will move some element before dividing the array (Vasya will erase some element and insert it into an arbitrary position).

Inserting an element in the same position he was erased from is also considered moving.

Can Vasya divide the array after choosing the right element to move and its new position?

瓦西娅有一个由正整数组成的数组 aa。他希望将该数组划分为两个非空的连续部分(前缀和后缀),使得第一部分所有元素之和等于第二部分所有元素之和。这并不总是可行的,因此瓦西娅可以先移动某个元素再进行划分(即:删除某个元素,并将其插入到任意位置)。

将元素插入其原本所在的位置也被视为一次移动。

在恰当选取一个要移动的元素及其新位置后,瓦西娅能否实现上述划分?

输入格式

The first line contains single integer n (1 ≤ n ≤ 100000) — the size of the array.

The second line contains n integers _a_1, _a_2... a__n (1 ≤ a__i ≤ 109) — the elements of the array.

第一行包含一个整数 nn(1 ≤ n ≤ 1000001 ≤ n ≤ 100000)—— 数组的大小。

第二行包含 nn 个整数 a1, a2, …, ana_1, a_2, \ldots, a_n(1 ≤ ai ≤ 1091 ≤ a_i ≤ 10^9)—— 数组的元素。

输出格式

Print YES if Vasya can divide the array after moving one element. Otherwise print NO.

如果瓦西娅在移动一个元素后能够将数组分割,则输出 YES;否则输出 NO。

输入输出样例

  • 输入#1

    3
    1 3 2

    输出#1

    YES
  • 输入#2

    5
    1 2 3 4 5

    输出#2

    NO
  • 输入#3

    5
    2 2 3 4 5

    输出#3

    YES

说明/提示

In the first example Vasya can move the second element to the end of the array.

In the second example no move can make the division possible.

In the third example Vasya can move the fourth element by one position to the left.

在第一个例子中,瓦西娅可以将第二个元素移动到数组末尾。

在第二个例子中,无论进行何种移动都无法实现整除。

在第三个例子中,瓦西娅可以将第四个元素向左移动一个位置。

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

首页