30分求助,玄关
查看原帖
30分求助,玄关
1200191
封禁用户楼主2024/8/17 22:04
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

bool isArithmetic(vector<int> &seq) {
    if (seq.size() <= 1) return true;
    sort(seq.begin(), seq.end());
    int d = seq[1] - seq[0];
    for (int i = 2; i < seq.size(); ++i) {
        if (seq[i] - seq[i - 1] != d) return false;
    }
    return true;
}

int main() {
    int t;
    cin >> t;
    while (t--) {
        int n;
        cin >> n;
        vector<int> p(n);
        for (int i = 0; i < n; ++i) {
            cin >> p[i];
        }

        int ans = 0;
        for (int i = 1; i < n; ++i) {
            vector<int> left(p.begin(), p.begin() + i);
            vector<int> right(p.begin() + i, p.end());

            if (isArithmetic(left) && isArithmetic(right)) {
                ans++;
            }
        }
        cout << ans << endl;
    }
    return 0;
}
2024/8/17 22:04
加载中...