提出 #75270715


ソースコード 拡げる

#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;
}

提出情報

提出日時
問題 E - Unbalanced ABC Substrings
ユーザ Rya_
言語 C++23 (GCC 15.2.0)
得点 450
コード長 979 Byte
結果 AC
実行時間 125 ms
メモリ 53832 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 450 / 450
結果
AC × 3
AC × 36
セット名 テストケース
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
ケース名 結果 実行時間 メモリ
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