Submission #72543169


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
const int N=5e5+5;
int n,sum[N*2];
long long ans;
string s;
struct BIT{
	int tr[N*2];
	inline int lowbit(int x){return x&-x;}
	inline void add(int x){
		for(;x<=n*2;x+=lowbit(x))tr[x]++;
	}
	inline int query(int x){
		int res=0;
		for(;x;x-=lowbit(x))res+=tr[x];
		return res;
	}
}bit;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>n>>s;
	s=" "+s;
	for(int i=1;i<=n;i++){
		if(s[i]=='A')sum[i]=sum[i-1]+1;
		else if(s[i]=='B')sum[i]=sum[i-1]-1;
		else sum[i]=sum[i-1];
	}
	bit.add(n+1);
	for(int i=1;i<=n;i++){
		ans+=bit.query(sum[i]+n);
		bit.add(sum[i]+n+1);
	}
	cout<<ans<<'\n';
	return 0;
}

Submission Info

Submission Time
Task E - A > B substring
User kac17
Language C++23 (GCC 15.2.0)
Score 450
Code Size 702 Byte
Status AC
Exec Time 10 ms
Memory 7908 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 3
AC × 35
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3504 KiB
00_sample_01.txt AC 1 ms 3536 KiB
00_sample_02.txt AC 1 ms 3632 KiB
01_random_03.txt AC 10 ms 5924 KiB
01_random_04.txt AC 10 ms 5880 KiB
01_random_05.txt AC 10 ms 5816 KiB
01_random_06.txt AC 9 ms 5920 KiB
01_random_07.txt AC 10 ms 5972 KiB
01_random_08.txt AC 10 ms 5992 KiB
01_random_09.txt AC 10 ms 5992 KiB
01_random_10.txt AC 10 ms 5980 KiB
01_random_11.txt AC 9 ms 5860 KiB
01_random_12.txt AC 9 ms 5960 KiB
01_random_13.txt AC 10 ms 5972 KiB
01_random_14.txt AC 9 ms 5916 KiB
01_random_15.txt AC 9 ms 6012 KiB
01_random_16.txt AC 8 ms 5520 KiB
01_random_17.txt AC 6 ms 4844 KiB
01_random_18.txt AC 4 ms 4784 KiB
01_random_19.txt AC 4 ms 4812 KiB
01_random_20.txt AC 5 ms 4688 KiB
01_random_21.txt AC 6 ms 5032 KiB
01_random_22.txt AC 3 ms 4304 KiB
01_random_23.txt AC 3 ms 4308 KiB
01_random_24.txt AC 7 ms 5984 KiB
01_random_25.txt AC 7 ms 6000 KiB
01_random_26.txt AC 9 ms 7148 KiB
01_random_27.txt AC 8 ms 7852 KiB
01_random_28.txt AC 10 ms 6628 KiB
01_random_29.txt AC 7 ms 7908 KiB
01_random_30.txt AC 8 ms 7868 KiB
01_random_31.txt AC 6 ms 5980 KiB
01_random_32.txt AC 1 ms 3568 KiB
01_random_33.txt AC 1 ms 3536 KiB
01_random_34.txt AC 1 ms 3544 KiB