結果
| 問題 | No.1486 ロボット | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2022-10-17 14:39:58 | 
| 言語 | Go (1.23.4) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 695 bytes | 
| コンパイル時間 | 12,653 ms | 
| コンパイル使用メモリ | 236,660 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-06-28 05:09:40 | 
| 合計ジャッジ時間 | 13,418 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 8 WA * 9 | 
ソースコード
package main
import (
	"fmt"
)
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)
}
            
            
            
        