校园活动
题号:NC215070
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛中学为了给本校的OIer放松心情,决定举报一场校园活动。
现在学校的共有 个OIer,学校想把他们分为一些小组进行一个团队游戏。学校先了解了一下每个同学对这个团队游戏的了解程度。
为了游戏的公平,学校需要使分组后的每一个小组内所有人对游戏的了解程度之和相等,
但同学们并不希望完全由学校来给他们分组,所以这 个人站为了一行,学校只能将队列中一段完整的子队列作为一个小组。
换句话说,如果你想让位置为  的人在一个小组里,你就必须让 和 之间的所有人在这个组里面。
当然,我们知道如果只有一个小组是无法进行游戏的。
你需要判断是否可以将他们成功分组进行游戏,如果能成功分组进行游戏就打印出最多能分为多少个小组,不能成功分组进行游戏(所有人都在同一个组里)打印“-1”。

输入描述:

共两行。 
第一行一个整数 ,表示队列的长度
第二行是一个长度为 的队列,表示队列中每一个OIer对游戏的了解程度且每个人的了解程度在区间内。

输出描述:

 如果能成功分组,打印出最多能分为多少个小组,不能成功分组(所有人都在同一个组里)打印“-1”。 
示例1

输入

复制
5
31113

输出

复制
3