。。。抄题解

刘嘉柚  •  4个月前


include <bits/stdc++.h>

using namespace std; string s; long long NOI[100010],n,NewN,NewO,NewI;//可爱的定义 long long N[100010],I[100010]; int main() {

cin>>n; getchar(); getline(cin,s);//专业的输入 s='0'+s;//下标从1开始 for(int i=1; i<=n; i++)//前缀和 {

if(s[i]=='N') N[i]++;
if(s[i]=='I') I[i]++;
N[i]+=N[i-1];
I[i]+=I[i-1];

} for(int i=1; i<=n; i++) {

NewO=max(NewO,N[i-1]*(I[n]-I[i-1]));
if(s[i]=='O')
{
  NOI[i]+=N[i-1]*(I[n]-I[i-1]);
  NewN+=I[n]-I[i-1];
  NewI+=N[i-1];
}
NOI[i]+=NOI[i-1];//还是可爱的前缀和

} cout<<NOI[n]+max(NewO,max(NewN,NewI)); return 0;//华丽结束 }


评论:

别抄题解啊


陆妍凯  •  4个月前