結果

問題 No.1486 ロボット
ユーザー scrappy
提出日時 2022-10-17 14:38:38
言語 Go
(1.23.4)
結果
WA  
実行時間 -
コード長 701 bytes
コンパイル時間 11,314 ms
コンパイル使用メモリ 221,036 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-28 05:07:26
合計ジャッジ時間 12,330 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 3
other WA * 17
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
	"fmt"
	"os"
	"time"
)

func main() {
	var A, B, C, D, E int
	fmt.Scan(&A, &B, &C, &D, &E)

	now := time.Now()
	defer func() { fmt.Println(time.Since(now)) }()

	f, s := true, true
	ft, st := A, C
	n := 0
	for e := E; e > 0; {
		d := ft
		if st < d {
			d = st
		}
		if e < d {
			d = e
		}

		fmt.Fprintf(os.Stderr, "%v: ft=%v, st=%v\n", E-e, ft, st)
		if f && s {
			n += d
		}

		ft -= d
		st -= d
		e -= d

		if !f && !s && ft == 0 && st == 0 {
			r := E - e
			n += n * e / r
			e = e % r
		}

		if ft == 0 {
			f = !f
			if f {
				ft = A
			} else {
				ft = B
			}
		}

		if st == 0 {
			s = !s
			if s {
				st = C
			} else {
				st = D
			}
		}
	}

	fmt.Println(n)
}
0