結果

問題 No.1380 Borderline
コンテスト
ユーザー kou_kkk
提出日時 2026-08-31 16:32:20
言語 Haskell
(9.14.1)
コンパイル:
ghc -rtsopts -with-rtsopts=-K1G -o a.out -O2 _filename_
実行:
./a.out
結果
AC  
実行時間 2 ms / 2,000 ms
+ 461µs
コード長 668 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 7,406 ms
コンパイル使用メモリ 192,512 KB
実行使用メモリ 9,800 KB
最終ジャッジ日時 2026-08-31 16:32:33
合計ジャッジ時間 9,313 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 41
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.14.1/environments/default
[1 of 2] Compiling Main             ( Main.hs, Main.o )
Main.hs:14:15: warning: [GHC-63394] [-Wx-partial]
    In the use of ‘head’
    (imported from Prelude, but defined in GHC.Internal.List):
    "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"."
   |
14 |             . head
   |               ^^^^

[2 of 2] Linking a.out

ソースコード

diff #
raw source code

module Main where

import Data.List (group, scanl', sortBy)

type Input  = (Int, [Int])
type Output = Int

parse :: String -> Input
parse s =
    let
        [_, k] =
            map read
            . words
            . head
            $ lines s

        ps =
            map read
            . words
            . (!! 1)
            $ lines s
    in
        (k, ps)

solve :: Input -> Output
solve (k, ps) =
    last
    . takeWhile (<= k)
    . scanl' (+) 0
    . map length
    . group
    . sortBy (flip compare)
    $ ps

render :: Output -> String
render =
    show

main :: IO ()
main =
    interact
        ( render
        . solve
        . parse
        )
0