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; }