**Problem Link** - Contest Page | CodeChef

**Author** - amarnathsama

**Tester** - amarnathsama

**Editorilist** - apurv001

IDEA

The number of pairs that satisfy the first condition is 123, where 1, 2, 3 are the numbers of 1, 2, and 3 contained in S, respectively.

is.

Consider how many of these pairs do not meet the second condition. Like satisfying j −i = k −j

The number of pairs (i, j, k) is O(N^2). Therefore, all of this is adjusted by, for example, fixing i and j.

All you have to do is make sure it meets the first condition. The computational complexity of this algorithm is

The second half of the full search becomes the bottleneck and is O(N^2).

## Summary

```
#include <bits/stdc++.h>
using namespace std;
signed main() {
int n;
cin >> n;
string s;
cin >> s;
int r = count(s.begin(), s.end(), '1');
int b = count(s.begin(), s.end(), '2');
int g = count(s.begin(), s.end(), '3');
ll ans = r * (ll)b * g;
for(int i = 0; i < n; i++) {
for(int j = i + 1; j < n; j++)
{
int k = 2 * j - i;
if (k >= n)continue;
if (s[i] != s[k] && s[i] != s[j] && s[j] != s[k])
ans--;
}
}
cout << ans << endl;
}
```