結果
| 問題 | No.2276 I Want AC | 
| コンテスト | |
| ユーザー |  square1001 | 
| 提出日時 | 2023-04-21 23:03:48 | 
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 405 ms / 2,000 ms | 
| コード長 | 479 bytes | 
| コンパイル時間 | 516 ms | 
| コンパイル使用メモリ | 12,544 KB | 
| 実行使用メモリ | 36,096 KB | 
| 最終ジャッジ日時 | 2024-11-06 16:30:34 | 
| 合計ジャッジ時間 | 17,085 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 56 | 
ソースコード
n = int(input())
s = input()
s1 = [ 0 ] * (n + 1)
s2 = [ 0 ] * (n + 1)
s3 = [ 0 ] * (n + 1)
for i in range(n):
	s1[i + 1] = s1[i] + (s[i] == 'A')
	s2[i + 1] = s2[i] + (s[i] == 'C')
	s3[i + 1] = s3[i] + (s[i] == '?')
t = list(s)
for i in range(n):
	if s[i] == '?':
		na = s1[i] + s3[i]
		nc = (s2[n] - s2[i + 1]) + (s3[n] - s3[i + 1])
		t[i] = ('A' if na <= nc else 'C')
numa = 0
answer = 0
for i in range(n):
	numa += (t[i] == 'A')
	if t[i] == 'C':
		answer += numa
print(answer)
            
            
            
        