結果

問題 No.406 鴨等間隔の法則
ユーザー torus711
提出日時 2016-08-05 22:32:45
言語 Haskell
(9.10.1)
結果
AC  
実行時間 200 ms / 2,000 ms
コード長 701 bytes
コンパイル時間 6,110 ms
コンパイル使用メモリ 180,300 KB
実行使用メモリ 23,808 KB
最終ジャッジ日時 2024-07-07 11:22:58
合計ジャッジ時間 8,665 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 29
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default
[1 of 2] Compiling Main             ( Main.hs, Main.o )

Main.hs:24:1: warning: [GHC-94817] [-Wtabs]
    Tab character found here, and in 12 further locations.
    Suggested fix: Please use spaces instead.
   |
24 |         where
   | ^^^^^^^^
[2 of 2] Linking a.out

ソースコード

diff #

{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE BangPatterns #-}

import Control.Applicative
import Control.Monad
import Control.Arrow
import Data.List
import Data.Maybe
import Data.Char
import qualified Data.ByteString.Char8 as B
import Text.Printf

readInt = ( readLn :: IO Int )
readInts = map ( read :: String -> Int ) . words <$> getLine

getList = map ( fst . fromJust . B.readInt ) . B.words <$> B.getLine

which a b f = if f then a else b
mp [ a, b ] = ( a, b )

main = getLine >> getList >>= putStrLn . which "YES" "NO" . f . sort

f ( a : b : l ) = f' ( b - a ) ( b : l )
	where
		f' 0 _ = False
		f' d ( a : b : l )
			| b - a /= d = False
			| otherwise = f' d ( b : l )
		f' _ _ = True
0