Submission #75270715


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n;
ll a[200005],b[200005],c[200005];
ll ab[200005],ac[200005],bc[200005];
ll _ab,_ac,_bc,_abc;
string s;
map<ll,ll> tab,tac,tbc;
map<pair<ll,pair<ll,ll>>,ll> tabc;
void AB(){
	int x;
	for(int i=0;i<=n;i++) tab[ab[i]]++;
	for(auto a:tab) x=a.second,_ab+=1ll*x*(x-1)/2;
}
void AC(){
	int x;
	for(int i=0;i<=n;i++) tac[ac[i]]++;
	for(auto a:tac) x=a.second,_ac+=1ll*x*(x-1)/2;
}
void BC(){
	int x;
	for(int i=0;i<=n;i++) tbc[bc[i]]++;
	for(auto a:tbc) x=a.second,_bc+=1ll*x*(x-1)/2;
}
void ABC(){
	int x;
	for(int i=0;i<=n;i++) tabc[{ab[i],{ac[i],bc[i]}}]++;
	for(auto a:tabc) x=a.second,_abc+=1ll*x*(x-1)/2;
}
int main(){
	cin>>n>>s,s=" "+s;
	for(int i=1;i<=n;i++) a[i]=a[i-1]+(s[i]=='A'),b[i]=b[i-1]+(s[i]=='B'),c[i]=c[i-1]+(s[i]=='C');
	for(int i=1;i<=n;i++) ab[i]=a[i]-b[i],ac[i]=a[i]-c[i],bc[i]=b[i]-c[i];
	AB(),AC(),BC(),ABC();
	cout<<1ll*n*(n+1)/2-_ab-_ac-_bc+2*_abc;
}

Submission Info

Submission Time
Task E - Unbalanced ABC Substrings
User Rya_
Language C++23 (GCC 15.2.0)
Score 450
Code Size 979 Byte
Status AC
Exec Time 125 ms
Memory 53832 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 3
AC × 36
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 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, 01_16.txt, 01_17.txt, 01_18.txt, 01_19.txt, 01_20.txt, 01_21.txt, 01_22.txt, 02_01.txt, 02_02.txt, 02_03.txt, 02_04.txt, 02_05.txt, 02_06.txt, 03_1.txt, 03_2.txt, 03_3.txt, 04_1.txt, 04_2.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 3520 KiB
00_sample_02.txt AC 1 ms 3480 KiB
00_sample_03.txt AC 1 ms 3452 KiB
01_01.txt AC 1 ms 3636 KiB
01_02.txt AC 1 ms 3480 KiB
01_03.txt AC 1 ms 3452 KiB
01_04.txt AC 1 ms 3480 KiB
01_05.txt AC 1 ms 3656 KiB
01_06.txt AC 1 ms 3552 KiB
01_07.txt AC 1 ms 3620 KiB
01_08.txt AC 1 ms 3516 KiB
01_09.txt AC 1 ms 3612 KiB
01_10.txt AC 1 ms 3520 KiB
01_11.txt AC 25 ms 11860 KiB
01_12.txt AC 58 ms 24572 KiB
01_13.txt AC 3 ms 4316 KiB
01_14.txt AC 56 ms 23460 KiB
01_15.txt AC 38 ms 16448 KiB
01_16.txt AC 3 ms 4796 KiB
01_17.txt AC 39 ms 16876 KiB
01_18.txt AC 109 ms 41380 KiB
01_19.txt AC 42 ms 17956 KiB
01_20.txt AC 110 ms 41468 KiB
01_21.txt AC 41 ms 17468 KiB
01_22.txt AC 110 ms 41276 KiB
02_01.txt AC 122 ms 53812 KiB
02_02.txt AC 123 ms 53812 KiB
02_03.txt AC 122 ms 53728 KiB
02_04.txt AC 125 ms 53832 KiB
02_05.txt AC 125 ms 53796 KiB
02_06.txt AC 124 ms 53780 KiB
03_1.txt AC 10 ms 13304 KiB
03_2.txt AC 9 ms 13136 KiB
03_3.txt AC 9 ms 13160 KiB
04_1.txt AC 91 ms 41216 KiB
04_2.txt AC 89 ms 41132 KiB