303491: CF675C. Money Transfers

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Money Transfers

题目描述

There are $ n $ banks in the city where Vasya lives, they are located in a circle, such that any two banks are neighbouring if their indices differ by no more than $ 1 $ . Also, bank $ 1 $ and bank $ n $ are neighbours if $ n>1 $ . No bank is a neighbour of itself. Vasya has an account in each bank. Its balance may be negative, meaning Vasya owes some money to this bank. There is only one type of operations available: transfer some amount of money from any bank to account in any neighbouring bank. There are no restrictions on the size of the sum being transferred or balance requirements to perform this operation. Vasya doesn't like to deal with large numbers, so he asks you to determine the minimum number of operations required to change the balance of each bank account to zero. It's guaranteed, that this is possible to achieve, that is, the total balance of Vasya in all banks is equal to zero.

输入输出格式

输入格式


The first line of the input contains a single integer $ n $ ( $ 1<=n<=100000 $ ) — the number of banks. The second line contains $ n $ integers $ a_{i} $ ( $ -10^{9}<=a_{i}<=10^{9} $ ), the $ i $ -th of them is equal to the initial balance of the account in the $ i $ -th bank. It's guaranteed that the sum of all $ a_{i} $ is equal to $ 0 $ .

输出格式


Print the minimum number of operations required to change balance in each bank to zero.

输入输出样例

输入样例 #1

3
5 0 -5

输出样例 #1

1

输入样例 #2

4
-1 0 1 0

输出样例 #2

2

输入样例 #3

4
1 2 3 -6

输出样例 #3

3

说明

In the first sample, Vasya may transfer $ 5 $ from the first bank to the third. In the second sample, Vasya may first transfer $ 1 $ from the third bank to the second, and then $ 1 $ from the second to the first. In the third sample, the following sequence provides the optimal answer: 1. transfer $ 1 $ from the first bank to the second bank; 2. transfer $ 3 $ from the second bank to the third; 3. transfer $ 6 $ from the third bank to the fourth.

Input

题意翻译

# **银行转账** ### 题目描述 有 $n$ 家银行,第 $i$ 家银行有 $a[i]$ 元,$a[i]$ 可正可负可零,相邻两家银行可以相互转账,第 $1$ 家和第 $n$ 家也可以,问最少需要多少次转账可以使得所有银行的余额都变成 $0$ ? ### 输入描述 输入的第一行包含一个整数 $n (1≤n≤100000 )$ 表示银行的数量。第二行包含 n 个整数 a 。$i(−10^9≤a[i]≤10^9 )$,表示第 $i$ 家银行的余额。 保证所有 $a[i]$ 的总和等于 $0$ 。 ### 输出描述 输出最少转账次数。

加入题单

算法标签: