Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <memory.h>using namespace std;int main() {char s[1001000];cin >> s;int n = strlen(s);if (n < 3) {cout << n * (n + 1) / 2 << endl;return 0;}long long cur = 2;long long answer = n;for (int i = 2; i < n; i++) {if (s[i] == s[i - 1] && s[i] == s[i - 2]) {answer += (cur - 1) * cur / 2;cur = 2;}else {cur++;}}answer += (cur - 1) * cur / 2;cout << answer << endl;return 0;