結果
問題 | No.2021 Not A but B |
ユーザー | U S |
提出日時 | 2022-07-29 23:20:17 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 164 ms / 2,000 ms |
コード長 | 1,537 bytes |
コンパイル時間 | 478 ms |
コンパイル使用メモリ | 87,172 KB |
実行使用メモリ | 97,676 KB |
最終ジャッジ日時 | 2023-09-26 23:04:21 |
合計ジャッジ時間 | 6,152 ms |
ジャッジサーバーID (参考情報) |
judge13 / judge14 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 110 ms
73,788 KB |
testcase_01 | AC | 111 ms
74,084 KB |
testcase_02 | AC | 110 ms
73,724 KB |
testcase_03 | AC | 111 ms
74,152 KB |
testcase_04 | AC | 111 ms
73,836 KB |
testcase_05 | AC | 111 ms
74,084 KB |
testcase_06 | AC | 114 ms
73,940 KB |
testcase_07 | AC | 112 ms
73,872 KB |
testcase_08 | AC | 164 ms
95,772 KB |
testcase_09 | AC | 156 ms
95,476 KB |
testcase_10 | AC | 154 ms
95,556 KB |
testcase_11 | AC | 156 ms
95,048 KB |
testcase_12 | AC | 157 ms
95,140 KB |
testcase_13 | AC | 153 ms
95,288 KB |
testcase_14 | AC | 154 ms
95,652 KB |
testcase_15 | AC | 155 ms
95,580 KB |
testcase_16 | AC | 154 ms
95,668 KB |
testcase_17 | AC | 154 ms
95,248 KB |
testcase_18 | AC | 156 ms
95,716 KB |
testcase_19 | AC | 154 ms
95,564 KB |
testcase_20 | AC | 156 ms
95,720 KB |
testcase_21 | AC | 124 ms
78,404 KB |
testcase_22 | AC | 122 ms
78,668 KB |
testcase_23 | AC | 123 ms
78,592 KB |
testcase_24 | AC | 118 ms
78,144 KB |
testcase_25 | AC | 121 ms
78,772 KB |
testcase_26 | AC | 124 ms
81,484 KB |
testcase_27 | AC | 155 ms
97,676 KB |
testcase_28 | AC | 157 ms
97,584 KB |
testcase_29 | AC | 128 ms
81,504 KB |
ソースコード
# import sys # sys.setrecursionlimit(10**7) # input = sys.stdin.readline # import pypyjit # pypyjit.set_param('max_unroll_recursion=-1') def mp():return map(int,input().split()) def lmp():return list(map(int,input().split())) def mps(A):return [tuple(map(str, input().split())) for _ in range(A)] def stoi(LIST):return list(map(int,LIST)) def itos(LIST):return list(map(str,LIST)) def atoi(LIST): return [ord(i)-ord("a") for i in LIST] def Atoi(LIST): return [ord(i)-ord("A") for i in LIST] def bitA(X,A):return X & 1<<A == 1<<A import math import bisect import heapq import time from copy import copy as cc from copy import deepcopy as dc from itertools import accumulate, product from collections import Counter, defaultdict, deque def ceil(U,V):return (U+V-1)//V def modf1(N,MOD):return (N-1)%MOD+1 inf = int(1e18)+20 mod = int(1e9+7) def rle(lst): ans = [] cnt = 1 ini = lst[0] for i in range(1, len(lst)): if ini == lst[i]:cnt += 1 else: ans.append((ini, cnt)) cnt = 1 ini = lst[i] ans.append((ini, cnt)) return ans n = int(input()) s = list(input()) ans = 0 sr = rle(s) sj = "".join(s) if len(sr) == 1 and sr[0][0] == "A": print(sr[0][1]-1) exit() for c,(i,j) in enumerate(sr): if c == 0 and i == "A": if j == 1:ans += 1 else:ans += j elif c == len(sr)-1 and i == "A": if j == 1:ans += 1 else:ans += j elif i == "A": if j == 1:ans += 1 else:ans += j+1 if "BB" in sj:ans += 1 print(ans)