#include <iostream> using namespace std; int tab[500], n; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); int i, a1, a2, b1, b2, c1, c2; long long ret, s, a1a2, b1b2, c1c2; cin >> n; for (i = 0; i < n; i++) cin >> tab[i]; ret = 0; for (a1 = 0; a1 < n - 1; a1++) { a1a2 = 0; for (a2 = a1; a2 < n; a2++) { a1a2 += tab[a2]; b1b2 = a1a2; b1 = a1; for (b2 = a2 + 1; b2 < n; b2++) { b1b2 += tab[b2]; s = a1a2 + b1b2; c1c2 = b1b2; c1 = b1; for (c2 = b2 + 1; c2 < n; c2++) { c1c2 += tab[c2]; // cout << a1 << ' ' << a2 << ' ' << b1 << ' ' << b2 << ' ' << c1 << ' ' << c2 << '\n'; if (s == -c1c2) ret++; } for (c1 = b1 + 1; c1 < n; c1++) { c1c2 = 0; for (c2 = c1; c2 < n; c2++) { c1c2 += tab[c2]; // cout << a1 << ' ' << a2 << ' ' << b1 << ' ' << b2 << ' ' << c1 << ' ' << c2 << '\n'; if (s == -c1c2) ret++; } } } for (b1 = a1 + 1; b1 < n - 1; b1++) { b1b2 = 0; for (b2 = b1; b2 < n; b2++) { b1b2 += tab[b2]; s = a1a2 + b1b2; c1c2 = b1b2; c1 = b1; for (c2 = b2 + 1; c2 < n; c2++) { c1c2 += tab[c2]; // cout << a1 << ' ' << a2 << ' ' << b1 << ' ' << b2 << ' ' << c1 << ' ' << c2 << '\n'; if (s == -c1c2) ret++; } for (c1 = b1 + 1; c1 < n; c1++) { c1c2 = 0; for (c2 = c1; c2 < n; c2++) { c1c2 += tab[c2]; // cout << a1 << ' ' << a2 << ' ' << b1 << ' ' << b2 << ' ' << c1 << ' ' << c2 << '\n'; if (s == -c1c2) ret++; } } } } } } cout << ret; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | #include <iostream> using namespace std; int tab[500], n; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); int i, a1, a2, b1, b2, c1, c2; long long ret, s, a1a2, b1b2, c1c2; cin >> n; for (i = 0; i < n; i++) cin >> tab[i]; ret = 0; for (a1 = 0; a1 < n - 1; a1++) { a1a2 = 0; for (a2 = a1; a2 < n; a2++) { a1a2 += tab[a2]; b1b2 = a1a2; b1 = a1; for (b2 = a2 + 1; b2 < n; b2++) { b1b2 += tab[b2]; s = a1a2 + b1b2; c1c2 = b1b2; c1 = b1; for (c2 = b2 + 1; c2 < n; c2++) { c1c2 += tab[c2]; // cout << a1 << ' ' << a2 << ' ' << b1 << ' ' << b2 << ' ' << c1 << ' ' << c2 << '\n'; if (s == -c1c2) ret++; } for (c1 = b1 + 1; c1 < n; c1++) { c1c2 = 0; for (c2 = c1; c2 < n; c2++) { c1c2 += tab[c2]; // cout << a1 << ' ' << a2 << ' ' << b1 << ' ' << b2 << ' ' << c1 << ' ' << c2 << '\n'; if (s == -c1c2) ret++; } } } for (b1 = a1 + 1; b1 < n - 1; b1++) { b1b2 = 0; for (b2 = b1; b2 < n; b2++) { b1b2 += tab[b2]; s = a1a2 + b1b2; c1c2 = b1b2; c1 = b1; for (c2 = b2 + 1; c2 < n; c2++) { c1c2 += tab[c2]; // cout << a1 << ' ' << a2 << ' ' << b1 << ' ' << b2 << ' ' << c1 << ' ' << c2 << '\n'; if (s == -c1c2) ret++; } for (c1 = b1 + 1; c1 < n; c1++) { c1c2 = 0; for (c2 = c1; c2 < n; c2++) { c1c2 += tab[c2]; // cout << a1 << ' ' << a2 << ' ' << b1 << ' ' << b2 << ' ' << c1 << ' ' << c2 << '\n'; if (s == -c1c2) ret++; } } } } } } cout << ret; return 0; } |