请求加强数据
  • 板块P1371 NOI元丹
  • 楼主shenzixin
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/29 08:35
  • 上次更新2024/11/29 12:07:20
查看原帖
请求加强数据
785681
shenzixin楼主2024/11/29 08:35

不用考虑加o的情况也能AC

以下是未考虑加o但能AC的代码:

#include<bits/stdc++.h>
using namespace std;
const long long M=1e5+10;


int n;
string s;
long long na,oa,ia;

long long reni(string s){
	int os[M], is[M];
	memset(os,0,sizeof os);
	memset(is,0,sizeof is);
	for(int i=n;i>=0;i--){
		is[i]=is[i+1];
		os[i]=os[i+1];
		if(s[i]=='I'){
			is[i]++;
		}
		else if(s[i]=='O'){
			os[i]+=is[i];
		}
	}
	long long ans=0;
	for(int i=0; i<n; i++){
		if(s[i]=='N'){
			ans+=os[i];
		}
	}
	return ans;
}

int main(){
	cin>>n;
	cin>>s;
	
	na=reni("N"+s);
	ia=reni(s+"I");
	
	cout<<max(na,ia);
}

提供hack数据:

输入:

2
NI

正确输出:

1
2024/11/29 08:35
加载中...