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

hamayanhamayan's blog

UMG [yukicoder No.805]

https://yukicoder.me/problems/no/805

解説

https://yukicoder.me/submissions/327804

N≦5000なので、3つのうち2つを全探索できる。
i,jを決めると、kが一意に定まるので、i,j,kでUMGであれば、答えをインクリメントして数えていく。

int N; string S;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> S;

    int ans = 0;
    rep(i, 0, N) rep(j, i + 1, N) {
        int k = j + (j - i);
        if (k < N) {
            if (S[i] == 'U' and S[j] == 'M' and S[k] == 'G') ans++;
        }
    }
    cout << ans << endl;
}