#CF1286F. 哈利·波特与魂器数组

哈利·波特与魂器数组

哈利·波特与魂器数组

  • 时间限制:5 秒
  • 内存限制:512 MiB

题目描述

给定一个包含 nn 个整数的数组 aa。当数组中所有元素都变成 00 时,数组被摧毁。

每次可以执行下列一种操作:

  1. 选择一个下标 ii 和任意整数 xx,令 ai←ai−xa_i\leftarrow a_i-x;
  2. 选择两个不同下标 i,ji,j 和任意整数 xx,令 ai←ai−xa_i\leftarrow a_i-x,同时令 aj←aj−(x+1)a_j\leftarrow a_j-(x+1)。

注意,xx 可以是负数。求摧毁数组所需的最少操作次数。

输入格式

第一行包含一个整数 nn。

第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

输出一个整数,表示最少操作次数。

样例输入 1

3
1 10 100

样例输出 1

3

样例输入 2

3
5 3 -2

样例输出 2

2

样例输入 3

1
0

样例输出 3

0

数据范围

对于全部数据,1≤n≤201\le n\le20,−1015≤ai≤1015-10^{15}\le a_i\le10^{15}。

子任务编号 分值 特殊限制
1 20 n≤10n\le10
2 40 n≤15n\le15
3 无特殊限制

题目来源:Codeforces 1286F。