#include #include bool validate_arithmetic(const std::vector& bucket) { if (bucket.size() <= 1) { return false; } int previous_idx = -1, distance = -1; for (int i = 0; i < bucket.size(); i++) { if (!bucket[i]) { continue; } if (previous_idx == -1) { previous_idx = i; continue; } if (distance == -1) { distance = i - previous_idx; } if (i - previous_idx != distance) { return false; } previous_idx = i; } return true; } int clac_ans(const std::vector& nums) { if (nums.size() == 1) { return 0; } std::vector bucket_begin(nums.size(), false); std::vector bucket_end(nums.size(), true); int ans = 0; for (int i = 0; i < nums.size(); i++) { bucket_begin[nums[i]] = true; bucket_end[nums[i]] = false; if (validate_arithmetic(bucket_begin) && validate_arithmetic(bucket_end)) { ans++; std::clog << i << std::endl; } } return ans - 1; } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int n; std::cin >> n; while (std::cin >> n) { std::vector nums(n); for (int i = 0; i < n; i++) { std::cin >> nums[i], nums[i]--; } std::cout << clac_ans(nums) << std::endl; } return 0; }