Submission #53069736
Source Code Expand
Copy
#include<iostream>#include<string>#include<queue>#include<vector>#include<cassert>#include<random>#include<set>#include<map>#include<cassert>#include<unordered_map>#include<bitset>#include<algorithm>using namespace std;typedef long long ll;const int inf=1<<30;const ll INF=1LL<<62;typedef pair<ll,ll> P;typedef pair<int,P> PP;const int MAXA=2*100000;
#include<iostream> #include<string> #include<queue> #include<vector> #include<cassert> #include<random> #include<set> #include<map> #include<cassert> #include<unordered_map> #include<bitset> #include<algorithm> using namespace std; typedef long long ll; const int inf=1<<30; const ll INF=1LL<<62; typedef pair<ll,ll> P; typedef pair<int,P> PP; const int MAXA=2*100000; int mex(int x,int y,int z){ vector<int> cnt(4,0); cnt[x]++; cnt[y]++; cnt[z]++; for (int i=0;i<4;i++){ if (cnt[i]==0){ return i; } } return 3; } int main(){ int N; cin>>N; vector<int> A(N); for(int i=0;i<N;i++){ cin>>A[i]; } string S; cin>>S; vector<vector<ll>> cnt_l(N+2,vector<ll>(3,0)); vector<vector<ll>> cnt_r(N+2,vector<ll>(3,0)); for(int i=0;i<N;i++){ if(S[i]=='M'){ cnt_l[i][A[i]]++; }else if(S[i]=='X'){ cnt_r[i][A[i]]++; } } for(int i=1;i<=N+1;i++){ for(int j=0;j<3;j++){ cnt_l[i][j]+=cnt_l[i-1][j]; cnt_r[i][j]+=cnt_r[i-1][j]; } } ll ans=0; for(int i=0;i<N;i++){ if(S[i]=='E'){ for(int cM=0;cM<3;cM++){ for(int cX=0;cX<3;cX++){ ll val=cnt_l[i][cM]*(cnt_r[N][cX]-cnt_r[i][cX]); ans+=val*mex(cM,cX,A[i]); } } } } cout<<ans<<endl; }
Submission Info
Submission Time | |
---|---|
Task | E - MEX |
User | HIcoder |
Language | C++ 20 (gcc 12.2) |
Score | 475 |
Code Size | 1539 Byte |
Status | AC |
Exec Time | 68 ms |
Memory | 26140 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 475 / 475 | ||||
Status |
|
|
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_00.txt, 01_random_01.txt, 01_random_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, 02_random2_00.txt, 02_random2_01.txt, 02_random2_02.txt, 03_zero_00.txt, 03_zero_01.txt, 03_zero_02.txt, 04_handmade_00.txt, 04_handmade_01.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 1 ms | 3512 KB |
00_sample_01.txt | AC | 1 ms | 3564 KB |
00_sample_02.txt | AC | 1 ms | 3512 KB |
01_random_00.txt | AC | 49 ms | 25980 KB |
01_random_01.txt | AC | 48 ms | 26044 KB |
01_random_02.txt | AC | 50 ms | 25940 KB |
01_random_03.txt | AC | 48 ms | 25972 KB |
01_random_04.txt | AC | 50 ms | 25992 KB |
01_random_05.txt | AC | 47 ms | 26072 KB |
01_random_06.txt | AC | 50 ms | 26016 KB |
01_random_07.txt | AC | 49 ms | 25984 KB |
01_random_08.txt | AC | 50 ms | 26004 KB |
01_random_09.txt | AC | 49 ms | 26072 KB |
01_random_10.txt | AC | 50 ms | 25944 KB |
01_random_11.txt | AC | 50 ms | 26012 KB |
01_random_12.txt | AC | 49 ms | 26032 KB |
01_random_13.txt | AC | 49 ms | 26000 KB |
01_random_14.txt | AC | 49 ms | 26072 KB |
01_random_15.txt | AC | 50 ms | 26000 KB |
01_random_16.txt | AC | 50 ms | 26012 KB |
01_random_17.txt | AC | 50 ms | 25992 KB |
01_random_18.txt | AC | 50 ms | 25948 KB |
01_random_19.txt | AC | 50 ms | 26000 KB |
02_random2_00.txt | AC | 37 ms | 26004 KB |
02_random2_01.txt | AC | 68 ms | 25944 KB |
02_random2_02.txt | AC | 38 ms | 25980 KB |
03_zero_00.txt | AC | 37 ms | 25996 KB |
03_zero_01.txt | AC | 54 ms | 25984 KB |
03_zero_02.txt | AC | 50 ms | 26072 KB |
04_handmade_00.txt | AC | 1 ms | 3540 KB |
04_handmade_01.txt | AC | 46 ms | 26140 KB |