結果
| 問題 | 
                            No.126 2基のエレベータ
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2016-03-03 03:30:42 | 
| 言語 | Go  (1.23.4)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 787 bytes | 
| コンパイル時間 | 12,065 ms | 
| コンパイル使用メモリ | 231,924 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-10 18:28:47 | 
| 合計ジャッジ時間 | 13,021 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 27 | 
ソースコード
package main
import (
	"bufio"
	"fmt"
	"math"
	"os"
	"strconv"
)
var sc = bufio.NewScanner(os.Stdin)
var rdr = bufio.NewReaderSize(os.Stdin, 1000000)
func main() {
	sc.Split(bufio.ScanWords)
	a, b, s := nextFloat(), nextFloat(), nextFloat()
	if s == 1 {
		fmt.Println(int(math.Abs(a-s) + s))
		return
	}
	if math.Abs(a-s) <= math.Abs(b-s) {
		fmt.Println(int(math.Abs(a-s) + s))
		return
	}
	r1 := s - 1 + a + math.Abs(b-s)
	r2 := math.Abs(a-s) + a + math.Abs(b-s)
	if a == 0 {
		r1 += 2
		r2++
	}
	if r1 < r2 {
		fmt.Println(int(r1))
		return
	}
	fmt.Println(int(r2))
}
func nextLine() string {
	sc.Scan()
	return sc.Text()
}
func nextInt() int {
	i, _ := strconv.Atoi(nextLine())
	return i
}
func nextFloat() float64 {
	f, _ := strconv.ParseFloat(nextLine(), 64)
	return f
}