思路:
首先,字符串的大小是8e3,三个for循环肯定会TLE,所以直接否定暴力的想法。
这道题应该以CHN中的H为跳板,简单的思路如下,
(1)如果碰到C,就将记录C数量的变量++;
(2)如果碰到H,就从该点的后一个点开始循环,一直到最后,如果在循环中碰到N,结果就加上C的数量;
(3)如果碰到N,就直接continue;

#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <sstream>
#include <map>
#include <set>
#include <queue>
#include <stdlib.h>
typedef long long ll;
using namespace std;

int main()
{
    string s;
    cin >> s;
    ll len = s.length();
    ll x=0;
    ll ans=0;
    for (int i=0;i<len;i++)
    {
        if(s[i]=='C') x++;
        else if(s[i]=='H')
        {
            for (int j=i+1;j<len;j++)
            {
                if(s[j]=='N') ans+=x;
            }
        }
    }
    cout << ans << endl;
    return 0;
}