結果

問題 No.1439 Let's Compare!!!!
ユーザー GER_chen
提出日時 2021-03-26 22:23:35
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 3,113 bytes
コンパイル時間 265 ms
コンパイル使用メモリ 82,700 KB
実行使用メモリ 107,972 KB
最終ジャッジ日時 2024-11-28 23:54:56
合計ジャッジ時間 6,217 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 15 WA * 1 TLE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = lambda: sys.stdin.readline().rstrip()
n = int(input())
S = list(map(int, input()))
T = list(map(int, input()))

D = [S[i]-T[i] for i in range(n)]

status = 'e'
checked = 0
for d in D:
    if d > 0:
        status = 's'
        break
    elif d < 0:
        status = 't'
        break
    else:
        checked += 1
q = int(input())
Ans = [None]*q       
for j in range(q):
    c, x, y = input().split()
    x, y = int(x), int(y)
    if c == 'S':
        df = y-S[x-1]
        if df:
            D[x-1] += df
            S[x-1] = y
            if status == 'e':
                checked = x
                if df > 0:
                    status = 's'
                else:
                    status = 't'
            elif status == 's':
                if checked >= x-1:
                    checked = x-1
                    for i in range(x-1, n):
                        d = D[i]
                        if d > 0:
                            break
                        elif d < 0:
                            status = 't'
                            break
                        else:
                            checked += 1
                    if checked == n:
                        status = 'e'
            else:
                if checked >= x-1:
                    checked = x-1
                    for i in range(x-1, n):
                        d = D[i]
                        if d > 0:
                            status = 's'
                            break
                        elif d < 0:
                            break
                        else:
                            checked += 1
                    if checked == n:
                        status = 'e'
    else:
        df = T[x-1]-y
        if df:
            D[x-1] += df
            T[x-1] = y
            if status == 'e':
                checked = x
                if df > 0:
                    status = 's'
                else:
                    status = 't'
            elif status == 's':
                if checked >= x-1:
                    checked = x-1
                    for i in range(x-1, n):
                        d = D[i]
                        if d > 0:
                            break
                        elif d < 0:
                            status = 't'
                            break
                        else:
                            checked += 1
                    if checked == n:
                        status = 'e'
            else:
                if checked >= x-1:
                    checked = x-1
                    for i in range(x-1, n):
                        d = D[i]
                        if d > 0:
                            status = 's'
                            break
                        elif d < 0:
                            break
                        else:
                            checked += 1
                    if checked == n:
                        status = 'e'
    if status == 's':
        Ans[j] = '>'
    elif status == 'e':
        Ans[j] = '='
    else:
        Ans[j] = '<'
print(*Ans, sep = '\n')
0