Submission #51270517


Source Code Expand

// LUOGU_RID: 151155040
#include<iostream>
#include<cstdio>
#define int long long
using namespace std;
int n,prej[100005],preo[100005],prei[100005];
int bckj[100005],bcko[100005],bcki[100005];
int ans=0;
char c[100005];
signed main()
{
//	freopen("stamp.in","r",stdin);
//	freopen("stamp.out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>n>>(c+1);
	for(int i=1;i<=n;i++)
	{
		prej[i]=prej[i-1]+(c[i]=='J');
		preo[i]=preo[i-1]+(c[i]=='O');
		prei[i]=prei[i-1]+(c[i]=='I');
	}
	for(int i=n;i>=1;i--)
	{
		bckj[i]=bckj[i+1]+(c[i]=='J');
		bcko[i]=bcko[i+1]+(c[i]=='O');
		bcki[i]=bcki[i+1]+(c[i]=='I');
	}
	for(int i=1;i<=n;i++)if(c[i]=='O')ans+=prej[i]*bcki[i];
	int resj=0,reso=0,resi=0;
	for(int i=1;i<=n;i++)
	{
		if(c[i]=='O')resj+=bcki[i];
		reso=max(reso,prej[i]*bcki[i+1]);
	}
	for(int i=n;i>=1;i--)
	{
		if(c[i]=='O')resi+=prej[i];
	}
	ans+=max(resj,max(reso,resi));
	cout<<ans<<"\n";
	return 0;
}

Submission Info

Submission Time
Task B - スタンプラリー 2 (Collecting Stamps 2)
User lhc0707
Language C++ 17 (gcc 12.2)
Score 100
Code Size 974 Byte
Status AC
Exec Time 7 ms
Memory 8412 KiB

Judge Result

Set Name Subtask01 Subtask02 Subtask03
Score / Max Score 30 / 30 20 / 20 50 / 50
Status
AC × 18
AC × 33
AC × 48
Set Name Test Cases
Subtask01 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, sample-01.txt, sample-02.txt, sample-03.txt
Subtask02 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, sample-01.txt, sample-02.txt, sample-03.txt
Subtask03 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 3448 KiB
01-02.txt AC 1 ms 3532 KiB
01-03.txt AC 1 ms 3452 KiB
01-04.txt AC 1 ms 3432 KiB
01-05.txt AC 1 ms 3440 KiB
01-06.txt AC 2 ms 3408 KiB
01-07.txt AC 1 ms 3524 KiB
01-08.txt AC 1 ms 3452 KiB
01-09.txt AC 1 ms 3520 KiB
01-10.txt AC 1 ms 3412 KiB
01-11.txt AC 1 ms 3452 KiB
01-12.txt AC 1 ms 3584 KiB
01-13.txt AC 2 ms 3524 KiB
01-14.txt AC 1 ms 3612 KiB
01-15.txt AC 1 ms 3660 KiB
02-01.txt AC 1 ms 3576 KiB
02-02.txt AC 2 ms 3612 KiB
02-03.txt AC 2 ms 3612 KiB
02-04.txt AC 2 ms 3576 KiB
02-05.txt AC 1 ms 3804 KiB
02-06.txt AC 2 ms 3668 KiB
02-07.txt AC 2 ms 3728 KiB
02-08.txt AC 2 ms 3640 KiB
02-09.txt AC 2 ms 3668 KiB
02-10.txt AC 2 ms 3600 KiB
02-11.txt AC 2 ms 3668 KiB
02-12.txt AC 1 ms 3648 KiB
02-13.txt AC 2 ms 3548 KiB
02-14.txt AC 1 ms 3636 KiB
02-15.txt AC 1 ms 3580 KiB
03-01.txt AC 4 ms 8208 KiB
03-02.txt AC 4 ms 8276 KiB
03-03.txt AC 4 ms 8284 KiB
03-04.txt AC 5 ms 8268 KiB
03-05.txt AC 4 ms 8224 KiB
03-06.txt AC 5 ms 8192 KiB
03-07.txt AC 5 ms 8272 KiB
03-08.txt AC 5 ms 8156 KiB
03-09.txt AC 5 ms 8412 KiB
03-10.txt AC 5 ms 8220 KiB
03-11.txt AC 4 ms 8280 KiB
03-12.txt AC 7 ms 8212 KiB
03-13.txt AC 5 ms 8208 KiB
03-14.txt AC 5 ms 8156 KiB
03-15.txt AC 5 ms 8260 KiB
sample-01.txt AC 1 ms 3448 KiB
sample-02.txt AC 1 ms 3576 KiB
sample-03.txt AC 2 ms 3444 KiB