はまやんはまやんはまやん

hamayanhamayan's blog

Interesting Subarray [Good Bye 2019 B]

https://codeforces.com/contest/1270/problem/B

解説

https://codeforces.com/contest/1270/submission/67930787

条件を満たすものがあるならば、隣り合う2つで満たすものがある。
上手く説明するのが難しいが、条件が満たされるのは、123...のような連続になっていないものであり、
124みたいな感じになっている必要があるが、どんな順番であっても必ず2つ以上離れている部分が存在する。
よって、隣り合う2つで探せばいい。
差の絶対値が2以上の所があれば、それを答える。

int N, A[201010];
//---------------------------------------------------------------------------------------------------
void solve() {
    cin >> N;
    rep(i, 0, N) cin >> A[i];

    rep(i, 0, N - 1) {
        int a = A[i];
        int b = A[i + 1];
        if (2 <= abs(b - a)) {
            printf("YES\n%d %d\n", i + 1, i + 2);
            return;
        }
    }

    printf("NO\n");
}
//---------------------------------------------------------------------------------------------------
void _main() {
    int T; cin >> T;
    rep(t, 0, T) solve();
}