Can anyone please help me explain the solution? https://mirror.codeforces.com/problemset/problem/1307/C
ll dp[27][27] = {0}, cnt[27] ={0}; ll ans = 0; for (ll i = 0; i < str.length(); ++i) { for (ll j = 0; j < 26; ++j) dp[str[i] - 'a'][j] += cnt[j]; //what are we calculating using this dp and how cnt[str[i] - 'a']++; } for (ll i = 0; i < 26; ++i) { ans = max(ans, cnt[i]); for (ll j = 0; j < 26; ++j) ans = max(ans, dp[i][j]); } pf1(ans);