提出 #56240616


ソースコード 拡げる

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 qualified Data.Sequence as Seq
import qualified Data.Set as Set 
import qualified Data.IntMap as IM
import Data.Graph.Inductive

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

main = do
    y <- getInt
    let ans | y `mod` 4 /= 0 = 365
            | y `mod` 100 /= 0 = 366
            | y `mod` 400 /= 0 = 365
            | otherwise = 366
    print ans

提出情報

提出日時
問題 A - Leap Year
ユーザ pel
言語 Haskell (GHC 9.4.5)
得点 100
コード長 969 Byte
結果 AC
実行時間 1 ms
メモリ 6952 KiB

コンパイルエラー

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

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 qualified import of ‘Data.Sequence’ is redundant
      except perhaps to import instances from ‘Data.Sequence’
    To import instances alone, use: import Data.Sequence()
   |
18 | import qualified Data.Sequence as Seq
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:19: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()
   |
19 | import qualified Data.Set as Set 
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:20: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()
   |
20 | import qualified Data.IntMap as IM
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

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

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

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

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

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

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

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

app/Main.hs:34:5: warning: [-Wtype-defaults]
    • Defaulting the type variable ‘a0’ to type ‘Integer’ in the following constraints
        (Show a0) arising from a use of ‘print’ at app/Main.hs:34:5-9
        (Num a0) arising from the literal ‘365’ at app/Main.hs:30:32-34
    • In a stmt of a 'do' block: print ans
      In the expression:
        do y <- getInt
           let ans
                 | y `mod` 4 /= 0 = 365
                 | y `mod` 100 /= 0 = 366
                 | y `mod` 400 /= 0 = 365
                 | otherwise = 366
           print ans
      In an equation for ‘main’:
          main
            = do y <- getInt
                 let ans
                       | y `mod` 4 /= 0 = ...
                       | y `mod` 100 /= 0 = ...
                       | y `mod` 400 /= 0 = ...
                       | otherwise = ...
                 print ans
   |
34 |     print ans
   |     ^^^^^

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 100 / 100
結果
AC × 4
AC × 14
セット名 テストケース
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt
All 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt
ケース名 結果 実行時間 メモリ
00_sample_01.txt AC 1 ms 6932 KiB
00_sample_02.txt AC 1 ms 6720 KiB
00_sample_03.txt AC 1 ms 6932 KiB
00_sample_04.txt AC 1 ms 6884 KiB
01_test_01.txt AC 1 ms 6940 KiB
01_test_02.txt AC 1 ms 6884 KiB
01_test_03.txt AC 1 ms 6952 KiB
01_test_04.txt AC 1 ms 6880 KiB
01_test_05.txt AC 1 ms 6944 KiB
01_test_06.txt AC 1 ms 6844 KiB
01_test_07.txt AC 1 ms 6876 KiB
01_test_08.txt AC 1 ms 6708 KiB
01_test_09.txt AC 1 ms 6708 KiB
01_test_10.txt AC 1 ms 6832 KiB