結果
| 問題 | No.564 背の順 | 
| コンテスト | |
| ユーザー |  torus711 | 
| 提出日時 | 2018-04-07 06:46:55 | 
| 言語 | Haskell (9.10.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 2,000 ms | 
| コード長 | 787 bytes | 
| コンパイル時間 | 2,099 ms | 
| コンパイル使用メモリ | 173,440 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-06-26 10:57:08 | 
| 合計ジャッジ時間 | 2,735 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 9 | 
コンパイルメッセージ
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:22:1: warning: [GHC-94817] [-Wtabs]
    Tab character found here, and in six further locations.
    Suggested fix: Please use spaces instead.
   |
22 |         [ h, n ] <- readInts
   | ^^^^^^^^
[2 of 2] Linking a.out
            
            ソースコード
{-# 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 = do
	[ h, n ] <- readInts
	hs <- replicateM ( n - 1 ) readInt
	putStrLn $ conv $ fst $ fromJust $ find ( ( == h ) . snd ) $ zip [ 1 .. ] $ reverse $ sort $ h : hs
conv x
	| x `mod` 10 == 1 = show x ++ "st"
	| x `mod` 10 == 2 = show x ++ "nd"
	| x `mod` 10 == 3 = show x ++ "rd"
	| otherwise = show x ++ "th"
            
            
            
        