結果
問題 | No.111 あばばばば |
ユーザー | Mamonbo |
提出日時 | 2015-10-10 19:50:19 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,029 bytes |
コンパイル時間 | 229 ms |
コンパイル使用メモリ | 81,792 KB |
実行使用メモリ | 80,384 KB |
最終ジャッジ日時 | 2024-07-21 06:15:55 |
合計ジャッジ時間 | 6,862 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 38 ms
51,328 KB |
testcase_01 | AC | 38 ms
51,584 KB |
testcase_02 | AC | 45 ms
62,208 KB |
testcase_03 | TLE | - |
testcase_04 | -- | - |
testcase_05 | -- | - |
testcase_06 | -- | - |
testcase_07 | -- | - |
testcase_08 | -- | - |
testcase_09 | -- | - |
ソースコード
#coding=UTF-8 #同じ文字を何回使ってもいい #並びは変えない #L<10**9とは大きい Lは奇数というのが気になる #Lは奇数のおかげで処理が楽 #回文についてはaとbが交互に来るのが重要か #偶数文字の回文は真ん中の文字が連続するからな #XYX,XYXYX,XYXYXYX X,Yはa,bがそれぞれ1つ入る #あとはこんな方針でやってみるか L=int(input()) reps=(L-1)//2 ans=0 for idx in range(1,reps+1,1):#Sそれ自体が最長だな for idy in range(0,2,1): #開始点をずらしていけばいい if idy%2==0: #ababa aから始まるやつ ans=ans+(reps-idx+1)#[0,idx*2],[2,idx*2+2],...,[(reps-idx)*2,reps*2] else: #babab bから始まるやつ bで終わる #[1,idx*2+1],[3,idx*2+3],...,[(reps-idx)*2-1,reps*2-1] # i.e.[(reps-idx-1)*2+1,reps*2-1] ans=ans+reps-idx-1+1#最後通るとき0になっていて良さある print(ans)