提出 #57285677


ソースコード 拡げる

import Control.Monad
import Control.Monad.ST
import Control.Monad.Primitive
import Data.Maybe
import qualified Data.ByteString.Char8 as BS
import Data.List
import Data.Char
import Data.Ord
import Data.Ix
import Data.Bool
import Data.Vector.Unboxed.Base
import qualified Data.Vector.Unboxed as VU
import qualified Data.Vector.Unboxed.Mutable as VUM
import qualified Data.Vector as V
import qualified Data.Vector.Mutable as VM
import Data.Array.Unboxed
import Data.Array.ST
import Data.Sequence (Seq)
import qualified Data.Sequence as Seq
import qualified Data.Set as Set
import Data.Tree
import qualified Data.Map as M
import Data.IntMap.Strict (IntMap)
import qualified Data.IntMap as IM
import qualified Data.Heap as H

readInt = fst . fromJust . BS.readInt
readIntList = map readInt . BS.words
getInt = readInt <$> BS.getLine
getIntList = readIntList <$> BS.getLine

putStrList xs = putStrLn . unwords $ map show xs

main = do
    n <- getInt
    as <- replicateM n $ do
        [a, s] <- words <$> getLine
        return (read a, head s)
    let ls = map fst $ filter ((== 'L') . snd) as
        rs = map fst $ filter ((== 'R') . snd) as
        lw = zipWith (\a b -> abs (a-b)) ls (tail ls)
        rw = zipWith (\a b -> abs (a-b)) rs (tail rs)
        ans = (sum lw) + (sum rw) :: Int
    print ans

提出情報

提出日時
問題 B - Piano 3
ユーザ pel
言語 Haskell (GHC 9.4.5)
得点 200
コード長 1346 Byte
結果 AC
実行時間 2 ms
メモリ 7784 KiB

コンパイルエラー

app/Main.hs:2:1: warning: [-Wunused-imports]
    The import of ‘Control.Monad.ST’ is redundant
      except perhaps to import instances from ‘Control.Monad.ST’
    To import instances alone, use: import Control.Monad.ST()
  |
2 | import Control.Monad.ST
  | ^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:3:1: warning: [-Wunused-imports]
    The import of ‘Control.Monad.Primitive’ is redundant
      except perhaps to import instances from ‘Control.Monad.Primitive’
    To import instances alone, use: import Control.Monad.Primitive()
  |
3 | import Control.Monad.Primitive
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:6:1: warning: [-Wunused-imports]
    The import of ‘Data.List’ is redundant
      except perhaps to import instances from ‘Data.List’
    To import instances alone, use: import Data.List()
  |
6 | import Data.List
  | ^^^^^^^^^^^^^^^^

app/Main.hs:7:1: warning: [-Wunused-imports]
    The import of ‘Data.Char’ is redundant
      except perhaps to import instances from ‘Data.Char’
    To import instances alone, use: import Data.Char()
  |
7 | import Data.Char
  | ^^^^^^^^^^^^^^^^

app/Main.hs:8:1: warning: [-Wunused-imports]
    The import of ‘Data.Ord’ is redundant
      except perhaps to import instances from ‘Data.Ord’
    To import instances alone, use: import Data.Ord()
  |
8 | import Data.Ord
  | ^^^^^^^^^^^^^^^

app/Main.hs:9:1: warning: [-Wunused-imports]
    The import of ‘Data.Ix’ is redundant
      except perhaps to import instances from ‘Data.Ix’
    To import instances alone, use: import Data.Ix()
  |
9 | import Data.Ix
  | ^^^^^^^^^^^^^^

app/Main.hs:10:1: warning: [-Wunused-imports]
    The import of ‘Data.Bool’ is redundant
      except perhaps to import instances from ‘Data.Bool’
    To import instances alone, use: import Data.Bool()
   |
10 | import Data.Bool
   | ^^^^^^^^^^^^^^^^

app/Main.hs:11:1: warning: [-Wunused-imports]
    The import of ‘Data.Vector.Unboxed.Base’ is redundant
      except perhaps to import instances from ‘Data.Vector.Unboxed.Base’
    To import instances alone, use: import Data.Vector.Unboxed.Base()
   |
11 | import Data.Vector.Unboxed.Base
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:12:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Vector.Unboxed’ is redundant
      except perhaps to import instances from ‘Data.Vector.Unboxed’
    To import instances alone, use: import Data.Vector.Unboxed()
   |
12 | import qualified Data.Vector.Unboxed as VU
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:13:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Vector.Unboxed.Mutable’ is redundant
      except perhaps to import instances from ‘Data.Vector.Unboxed.Mutable’
    To import instances alone, use: import Data.Vector.Unboxed.Mutable()
   |
13 | import qualified Data.Vector.Unboxed.Mutable as VUM
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:14:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Vector’ is redundant
      except perhaps to import instances from ‘Data.Vector’
    To import instances alone, use: import Data.Vector()
   |
14 | import qualified Data.Vector as V
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:15:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Vector.Mutable’ is redundant
      except perhaps to import instances from ‘Data.Vector.Mutable’
    To import instances alone, use: import Data.Vector.Mutable()
   |
15 | import qualified Data.Vector.Mutable as VM
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:16:1: warning: [-Wunused-imports]
    The import of ‘Data.Array.Unboxed’ is redundant
      except perhaps to import instances from ‘Data.Array.Unboxed’
    To import instances alone, use: import Data.Array.Unboxed()
   |
16 | import Data.Array.Unboxed
   | ^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:17:1: warning: [-Wunused-imports]
    The import of ‘Data.Array.ST’ is redundant
      except perhaps to import instances from ‘Data.Array.ST’
    To import instances alone, use: import Data.Array.ST()
   |
17 | import Data.Array.ST
   | ^^^^^^^^^^^^^^^^^^^^

app/Main.hs:18:1: warning: [-Wunused-imports]
    The import of ‘Data.Sequence’ is redundant
      except perhaps to import instances from ‘Data.Sequence’
    To import instances alone, use: import Data.Sequence()
   |
18 | import Data.Sequence (Seq)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:19:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Sequence’ is redundant
      except perhaps to import instances from ‘Data.Sequence’
    To import instances alone, use: import Data.Sequence()
   |
19 | import qualified Data.Sequence as Seq
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:20:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Set’ is redundant
      except perhaps to import instances from ‘Data.Set’
    To import instances alone, use: import Data.Set()
   |
20 | import qualified Data.Set as Set
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:21:1: warning: [-Wunused-imports]
    The import of ‘Data.Tree’ is redundant
      except perhaps to import instances from ‘Data.Tree’
    To import instances alone, use: import Data.Tree()
   |
21 | import Data.Tree
   | ^^^^^^^^^^^^^^^^

app/Main.hs:22:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Map’ is redundant
      except perhaps to import instances from ‘Data.Map’
    To import instances alone, use: import Data.Map()
   |
22 | import qualified Data.Map as M
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:23:1: warning: [-Wunused-imports]
    The import of ‘Data.IntMap.Strict’ is redundant
      except perhaps to import instances from ‘Data.IntMap.Strict’
    To import instances alone, use: import Data.IntMap.Strict()
   |
23 | import Data.IntMap.Strict (IntMap)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:24:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.IntMap’ is redundant
      except perhaps to import instances from ‘Data.IntMap’
    To import instances alone, use: import Data.IntMap()
   |
24 | import qualified Data.IntMap as IM
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:25:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Heap’ is redundant
      except perhaps to import instances from ‘Data.Heap’
    To import instances alone, use: import Data.Heap()
   |
25 | import qualified Data.Heap as H
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:27:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      readInt :: BS.ByteString -> Int
   |
27 | readInt = fst . fromJust . BS.readInt
   | ^^^^^^^

app/Main.hs:28:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      readIntList :: BS.ByteString -> [Int]
   |
28 | readIntList = map readInt . BS.words
   | ^^^^^^^^^^^

app/Main.hs:28:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘readIntList’
   |
28 | readIntList = map readInt . BS.words
   | ^^^^^^^^^^^

app/Main.hs:29:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: getInt :: IO Int
   |
29 | getInt = readInt <$> BS.getLine
   | ^^^^^^

app/Main.hs:30:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: getIntList :: IO [Int]
   |
30 | getIntList = readIntList <$> BS.getLine
   | ^^^^^^^^^^

app/Main.hs:30:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘getIntList’
   |
30 | getIntList = readIntList <$> BS.getLine
   | ^^^^^^^^^^

app/Main.hs:32:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      putStrList :: Show a => [a] -> IO ()
   |
32 | putStrList xs = putStrLn . unwords $ map show xs
   | ^^^^^^^^^^

app/Main.hs:32:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘putStrList’
   |
32 | putStrList xs = putStrLn . unwords $ map show xs
   | ^^^^^^^^^^

app/Main.hs:34:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: main :: IO ()
   |
34 | main = do
   | ^^^^

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 200 / 200
結果
AC × 3
AC × 20
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 02_handmade_00.txt, 02_handmade_01.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 7104 KiB
00_sample_01.txt AC 1 ms 7000 KiB
00_sample_02.txt AC 1 ms 7256 KiB
01_random_00.txt AC 1 ms 6996 KiB
01_random_01.txt AC 1 ms 7580 KiB
01_random_02.txt AC 1 ms 7500 KiB
01_random_03.txt AC 1 ms 7456 KiB
01_random_04.txt AC 1 ms 7720 KiB
01_random_05.txt AC 2 ms 7500 KiB
01_random_06.txt AC 1 ms 7748 KiB
01_random_07.txt AC 2 ms 7728 KiB
01_random_08.txt AC 2 ms 7772 KiB
01_random_09.txt AC 2 ms 7504 KiB
01_random_10.txt AC 1 ms 7780 KiB
01_random_11.txt AC 1 ms 7708 KiB
01_random_12.txt AC 1 ms 7728 KiB
01_random_13.txt AC 1 ms 7784 KiB
01_random_14.txt AC 1 ms 7672 KiB
02_handmade_00.txt AC 1 ms 7772 KiB
02_handmade_01.txt AC 2 ms 7744 KiB