#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int lint; typedef pair P; typedef pair LLP; typedef pairCP; #define rep(i, n) for (int i = 0; i < n; i++) #define repr(i, n) for (int i = n; i >= 0; i--) #define sort(v) sort((v).begin(), (v).end()) #define reverse(v) reverse((v).begin(), (v).end()) #define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge) #define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge) /* vectoral(26); al = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; vectorAL(26); AL = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; vectorNUM(10); NUM = { '0','1','2' ,'3' ,'4' ,'5' ,'6' ,'7' ,'8' ,'9' }; */ int main() { int N; cin >> N; vectorA(N); rep(i, N) { cin >> A[i]; } vectorSA(N); SA[0] = A[0]; for (int i = 1; i < N; i++) { SA[i] = SA[i-1]+A[i]; } int ssum = 0; int sum = 0; int ans = 0; int c = 0; rep(i, N) { ssum = SA[i]; sum = 0; ans = 0; c = 0; for (int j = i + 1; j < N; j++) { if (sum + A[j] <= ssum) { sum += A[j]; if (sum == ssum) { sum = 0; ans++; } } else { c = 1; break; } } if (c == 0) { cout << ans+1 << endl; return 0; } } }