結果
| 問題 |
No.1935 Water Simulation
|
| コンテスト | |
| ユーザー |
siganai
|
| 提出日時 | 2022-05-13 21:57:06 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 65 ms / 2,000 ms |
| コード長 | 1,091 bytes |
| コンパイル時間 | 275 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 65,152 KB |
| 最終ジャッジ日時 | 2024-07-22 04:34:16 |
| 合計ジャッジ時間 | 3,256 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 29 |
ソースコード
#!/usr/bin/env PyPy3
from collections import Counter, defaultdict, deque
import itertools
import re
import math
from functools import reduce
import operator
import bisect
from heapq import *
import functools
mod=998244353
import sys
input=sys.stdin.readline
v1,v2,v3,v4,n=map(int,input().split())
d = defaultdict(lambda: -1)
cnt = 0
d[(v1,0,0,0,0)] = 0
n4=n2=n3=0;n1=v1
while cnt < n:
m = cnt % 4
if m == 0:
dis = min(v2 - n2,n1)
n1 -= dis
n2 += dis
elif m == 1:
dis = min(v3-n3,n2)
n2 -= dis
n3 += dis
elif m == 2:
dis = min(v4 - n4,n3)
n3 -= dis
n4 += dis
else:
dis = min(v1-n1,n4)
n4 -= dis
n1 += dis
cnt += 1
m += 1
m %= 4
if d[(n1,n2,n3,n4,m)] == -1:
d[(n1,n2,n3,n4,m)] = cnt
else:
loop = cnt - d[(n1,n2,n3,n4,m)]
break
if cnt == n:
print(n1,n2,n3,n4)
else:
rem = d[(n1,n2,n3,n4,m)]
p = (n - rem) % loop + rem
for key,value in d.items():
if value == p:
print(*key[:-1])
exit()
siganai