結果
問題 | No.2482 Sandglasses |
ユーザー |
![]() |
提出日時 | 2023-10-11 05:24:31 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 900 ms / 2,000 ms |
コード長 | 885 bytes |
コンパイル時間 | 321 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 55,156 KB |
最終ジャッジ日時 | 2024-11-16 23:00:29 |
合計ジャッジ時間 | 24,868 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 |
ソースコード
import sys input = sys.stdin.readline N,K,T=map(int,input().split()) A=input().split() B=list(map(int,input().split())) I=[0]*N for i in range(N): if A[i]=="A": I[i]=B[i] else: I[i]=B[i] T=T%(2*K) L=[0]*N for i in range(N): time=T if A[i]=="A": now=B[i] if now>=time: now-=time time=0 else: time-=now now=0 now+=time if now>=K: now=K-(now-K) L[i]=now else: now=B[i] if K-now>=time: now+=time time=0 else: time-=K-now now=K now-=time if now<=0: now=-now L[i]=now #print(now,time) L.sort() IX=[(I[i],i) for i in range(N)] IX.sort() ANS=[0]*N for i in range(N): ANS[IX[i][1]]=L[i] print(*ANS)