結果
問題 | No.1439 Let's Compare!!!! |
ユーザー | da_ab |
提出日時 | 2021-03-27 07:54:41 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,324 bytes |
コンパイル時間 | 137 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 88,300 KB |
最終ジャッジ日時 | 2024-11-29 08:06:24 |
合計ジャッジ時間 | 34,656 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 521 ms
49,404 KB |
testcase_01 | AC | 528 ms
87,668 KB |
testcase_02 | AC | 533 ms
49,524 KB |
testcase_03 | AC | 527 ms
87,784 KB |
testcase_04 | AC | 522 ms
49,524 KB |
testcase_05 | AC | 525 ms
87,736 KB |
testcase_06 | AC | 520 ms
49,780 KB |
testcase_07 | AC | 582 ms
88,300 KB |
testcase_08 | AC | 585 ms
49,268 KB |
testcase_09 | AC | 544 ms
50,972 KB |
testcase_10 | TLE | - |
testcase_11 | TLE | - |
testcase_12 | TLE | - |
testcase_13 | TLE | - |
testcase_14 | TLE | - |
testcase_15 | TLE | - |
testcase_16 | TLE | - |
testcase_17 | TLE | - |
testcase_18 | TLE | - |
ソースコード
# 1439 : Let's Compare!!!! import numpy as np from sys import stdin N=int(stdin.readline()) blockSize=1000 if N<blockSize: blockSize=N S=0 T=1 paddingSize=(blockSize-N%blockSize)%blockSize padding="0"*paddingSize N+=paddingSize strS=padding+stdin.readline().rstrip() strT=padding+stdin.readline().rstrip() strST=[0]*2 strST[S]=[0]*int(np.floor(N/blockSize)) strST[T]=[0]*int(np.floor(N/blockSize)) k=0 for i in range(int(np.floor(N/blockSize))): strST[S][i]=strS[k:k+blockSize] strST[T][i]=strT[k:k+blockSize] k+=blockSize Q=int(stdin.readline()) matchedMostRightBlock=-1 for _ in range(Q): c,x,y=stdin.readline().split() x=(int(x)-1)+paddingSize if c=='S': tStr=S else: tStr=T nThBlock=int(np.floor(x/blockSize)) nThChar=x%blockSize strST[tStr][nThBlock]=strST[tStr][nThBlock][0:nThChar]+y+strST[tStr][nThBlock][nThChar+1:] result='=' matchedMostRightBlock=min(nThBlock-1,matchedMostRightBlock) for i in range(matchedMostRightBlock+1,int(np.floor(N/blockSize))): intS=int(strST[S][i]) intT=int(strST[T][i]) if intS>intT: result='>' matchedMostRightBlock=i-1 break elif intS<intT: matchedMostRightBlock=i-1 result='<' break print(result)