結果
問題 | No.652 E869120 and TimeZone |
ユーザー |
|
提出日時 | 2019-01-18 03:54:35 |
言語 | Nim (2.2.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 686 bytes |
コンパイル時間 | 6,343 ms |
コンパイル使用メモリ | 83,100 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-11 12:29:06 |
合計ジャッジ時間 | 7,229 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 30 |
コンパイルメッセージ
/home/judge/data/code/Main.nim(1, 36) Warning: imported and not used: 'math' [UnusedImport] /home/judge/data/code/Main.nim(1, 41) Warning: imported and not used: 'sugar' [UnusedImport] /home/judge/data/code/Main.nim(1, 26) Warning: imported and not used: 'algorithm' [UnusedImport]
ソースコード
import sequtils,strutils,algorithm,math,sugar,macros,strformatimport timestemplate get*():string = stdin.readLine().strip()macro unpack*(arr: auto,cnt: static[int]): auto =let t = genSym(); result = quote do:(let `t` = `arr`;())for i in 0..<cnt: result[1].add(quote do:`t`[`i`])let (a,b,S) = (let t = get().split();(t[0].parseInt(),t[1].parseInt(),t[2][3..^1]))var diff = 0 # 分 :: .5 -> 30 , .1 -> 6if '.' notin S: diff = S.parseInt() * 60else:let (sa,sb) = S[1..^1].split(".").map(parseInt).unpack(2)diff = sa * 60 + sb * 6if S[0] == '-': diff *= -1diff -= 60 * 9let f = initTimeFormat("HH:mm")echo (fmt"{a:02d}:{b:02d}".parse(f) + diff.minutes).format(f)