結果

問題 No.1924 3 color painting on a line
ユーザー 已经死了
提出日時 2025-06-25 23:44:55
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 927 bytes
コンパイル時間 417 ms
コンパイル使用メモリ 82,768 KB
実行使用メモリ 80,500 KB
最終ジャッジ日時 2025-06-25 23:45:01
合計ジャッジ時間 5,519 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 2 WA * 41
権限があれば一括ダウンロードができます

ソースコード

diff #

MI=lambda:map(int,input().split())
li=lambda:list(MI())
ii=lambda:int(input())
import sys
import bisect
import itertools

n=ii()
s=sys.stdin.readline().strip()
d={'R':0,'G':1,'B':2}
pos=[[] for _ in range(3)]
for i,c in enumerate(s):
    pos[d[c]].append(i)
r=[0,0,0]
pre=''
for c in s:
    if c!=pre:
        r[d[c]]+=1
        pre=c
ans=n
for p in itertools.permutations([0,1,2]):
    t=[]
    cst=0
    for x in p:
        rc=r[x]
        if rc==0:
            continue
        f=pos[x][0]
        l=pos[x][-1]
        ok=False
        if not t:
            ok=True
        else:
            ok=True
            for y in t:
                q=pos[y]
                idx=bisect.bisect_left(q,f)
                if idx<len(q) and q[idx]<=l:
                    ok=False
                    break
        if ok:
            cst+=1
        else:
            cst+=rc
        t.append(x)
    if cst<ans:
        ans=cst
print(ans)
0