【ABC421】AtCoder Beginner Contest 421 C問題 改良について
解決したいこと
つい先日AtCoderに登録した初学者の社会人です。
以下のコードについて、実行時間が21msでコード長が635Byteでした。
より簡潔に書けたり、高速にできたりする技術や考え方があれば、
教えていただきたいです。
該当するソースコード
#include <bits/stdc++.h>
using namespace std;
int main(){
long long N;
long long count = 0;
long long result_ab = 0;
long long result_ba = 0;
string S;
cin >> N >> S;
vector<int> ba(N);
vector<int> ab(N);
vector<int> a_now(2*N);
for(int i = 0; i < N; i++){
ab[i] = 2*i;
}
for(int i = 0; i < N; i++){
ba[i] = 2*i + 1;
}
for(int i = 0; i < 2 * N; i++){
if(S[i] == 'A'){
a_now[count] = i;
count++;
}
}
for(int i = 0; i < N; i++){
result_ab += abs(ab[i] - a_now[i]);
result_ba += abs(ba[i] - a_now[i]);
}
cout << min(result_ab, result_ba) << endl;
}
0 likes