Submission #74962514


Source Code Expand

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
import qualified AtCoder.Extra.Math as Math
import qualified AtCoder.Extra.Pdsu as Pdsu
import qualified AtCoder.Extra.Vector as VE
import qualified AtCoder.LazySegTree as LST
import AtCoder.Extra.Monoid (SegAct(..), Affine1(..))
import Data.Semigroup (Sum (..))

readInt = fst . fromJust . BS.readInt
readIntList = map readInt . BS.words
getInt = readInt <$> BS.getLine
getIntList = readIntList <$> BS.getLine
strToInt strN = read strN :: Int

putStrList xs = putStrLn . unwords $ map show xs

main = do
    [n, q] <- getIntList
    as <- getIntList
    qs <- replicateM q $ do
        xs <- getIntList
        let (a:b:c:d:_) = xs ++ [0,0]
        return (a, b, c, d)
    lst <- LST.build @_ @(Affine1 Int) @(Sum Int) $ VU.fromList (map (\x -> Sum x) as)
    forM_ qs $ \(a, b, c, d) -> do
        case a of
            1 -> do
                LST.applyIn lst (b-1) c (Affine1 (1, d))
            2 -> do
                ans <- LST.read lst (b-1)
                print $ getSum ans

Submission Info

Submission Time
Task C - Piggy Bank Management
User pel
Language Haskell (GHC 9.8.4)
Score 366
Code Size 1757 Byte
Status AC
Exec Time 420 ms
Memory 170272 KiB

Compile Error

Configuration is affected by the following files:
- cabal.project
- cabal.project.freeze
- cabal.project.local

app/Main.hs:2:1: warning: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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:13:1: warning: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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: [GHC-66111] [-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:26:1: warning: [GHC-66111] [-Wunused-imports]
    The qualified import of ‘AtCoder.Extra.Math’ is redundant
      except perhaps to import instances from ‘AtCoder.Extra.Math’
    To import instances alone, use: import AtCoder.Extra.Math()
   |
26 | import qualified AtCoder.Extra.Math as Math
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:27:1: warning: [GHC-66111] [-Wunused-imports]
    The qualified import of ‘AtCoder.Extra.Pdsu’ is redundant
      except perhaps to import instances from ‘AtCoder.Extra.Pdsu’
    To import instances alone, use: import AtCoder.Extra.Pdsu()
   |
27 | import qualified AtCoder.Extra.Pdsu as Pdsu
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

app/Main.hs:30:30: warning: [GHC-38856] [-Wunused-imports]
    The import of ‘SegAct’
    from module ‘AtCoder.Extra.Monoid’ is redundant
   |
30 | import AtCoder.Extra.Monoid (SegAct(..), Affine1(..))
   |                              ^^^^^^^^^^

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

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

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

app/Main.hs:35:1: warning: [GHC-40910] [-Wunused-top-binds]
    Defined but not used: ‘getInt’
   |
35 | getInt = readInt <$> BS.getLine
   | ^^^^^^

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

app/Main.hs:37:1: warning: [GHC-38417] [-Wmissing-signatures]
    Top-level binding with no type signature: strToInt :: String -> Int
   |
37 | strToInt strN = read strN :: Int
   | ^^^^^^^^

app/Main.hs:37:1: warning: [GHC-40910] [-Wunused-top-binds]
    Defined but not used: ‘strToInt’
   |
37 | strToInt strN = read strN :: Int
   | ^^^^^^^^

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

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

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

app/Main.hs:42:6: warning: [GHC-40910] [-Wunused-matches]
    Defined but not used: ‘n’
   |
42 |     [n, q] <- getIntList
   |      ^

app/Main.hs:46:13: warning: [GHC-62161] [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a pattern binding:
        Patterns of type ‘[Int]’ not matched:
            []
            [_]
            [_, _]
            [_, _, _]
   |
46 |         let (a:b:c:d:_) = xs ++ [0,0]
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:50:9: warning: [GHC-62161] [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In a case alternative:
        Patterns of type ‘Int’ not matched: p where p is not one of {1, 2}
   |
50 |         case a of
   |         ^^^^^^^^^...
Configuration is affected by the following files:
- cabal.project
- cabal.project.freeze
- cabal.project.local

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 366 / 366
Status
AC × 3
AC × 78
Set Name Test Cases
Sample sample01.txt, sample02.txt, sample03.txt
All sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in50.txt, in51.txt, in52.txt, in53.txt, in54.txt, in55.txt, in56.txt, in57.txt, in58.txt, in59.txt, in60.txt, in61.txt, in62.txt, in63.txt, in64.txt, in65.txt, in66.txt, in67.txt, in68.txt, in69.txt, in70.txt, in71.txt, in72.txt, in73.txt, in74.txt, in75.txt
Case Name Status Exec Time Memory
in01.txt AC 19 ms 8320 KiB
in02.txt AC 2 ms 8560 KiB
in03.txt AC 2 ms 8392 KiB
in04.txt AC 2 ms 8488 KiB
in05.txt AC 2 ms 8484 KiB
in06.txt AC 2 ms 8544 KiB
in07.txt AC 2 ms 8720 KiB
in08.txt AC 3 ms 9068 KiB
in09.txt AC 358 ms 147616 KiB
in10.txt AC 381 ms 146468 KiB
in11.txt AC 360 ms 149664 KiB
in12.txt AC 19 ms 28680 KiB
in13.txt AC 15 ms 25500 KiB
in14.txt AC 329 ms 170272 KiB
in15.txt AC 215 ms 125420 KiB
in16.txt AC 2 ms 8360 KiB
in17.txt AC 328 ms 146480 KiB
in18.txt AC 300 ms 142824 KiB
in19.txt AC 359 ms 147484 KiB
in20.txt AC 323 ms 141936 KiB
in21.txt AC 315 ms 146728 KiB
in22.txt AC 338 ms 149708 KiB
in23.txt AC 393 ms 149428 KiB
in24.txt AC 220 ms 121052 KiB
in25.txt AC 3 ms 8896 KiB
in26.txt AC 2 ms 8516 KiB
in27.txt AC 5 ms 13156 KiB
in28.txt AC 309 ms 149580 KiB
in29.txt AC 292 ms 155040 KiB
in30.txt AC 294 ms 153884 KiB
in31.txt AC 359 ms 151636 KiB
in32.txt AC 3 ms 9072 KiB
in33.txt AC 3 ms 8900 KiB
in34.txt AC 332 ms 146516 KiB
in35.txt AC 3 ms 8544 KiB
in36.txt AC 3 ms 8440 KiB
in37.txt AC 5 ms 13016 KiB
in38.txt AC 2 ms 8332 KiB
in39.txt AC 5 ms 13112 KiB
in40.txt AC 292 ms 153652 KiB
in41.txt AC 352 ms 153652 KiB
in42.txt AC 331 ms 146644 KiB
in43.txt AC 408 ms 152660 KiB
in44.txt AC 388 ms 146516 KiB
in45.txt AC 378 ms 146500 KiB
in46.txt AC 402 ms 149452 KiB
in47.txt AC 319 ms 146592 KiB
in48.txt AC 283 ms 146560 KiB
in49.txt AC 344 ms 146840 KiB
in50.txt AC 321 ms 146772 KiB
in51.txt AC 335 ms 146660 KiB
in52.txt AC 381 ms 146460 KiB
in53.txt AC 388 ms 157800 KiB
in54.txt AC 420 ms 149464 KiB
in55.txt AC 354 ms 148120 KiB
in56.txt AC 398 ms 155572 KiB
in57.txt AC 402 ms 145512 KiB
in58.txt AC 3 ms 8428 KiB
in59.txt AC 3 ms 8680 KiB
in60.txt AC 2 ms 8692 KiB
in61.txt AC 2 ms 8348 KiB
in62.txt AC 223 ms 125268 KiB
in63.txt AC 226 ms 125288 KiB
in64.txt AC 3 ms 8336 KiB
in65.txt AC 2 ms 8392 KiB
in66.txt AC 2 ms 8376 KiB
in67.txt AC 2 ms 8524 KiB
in68.txt AC 2 ms 8480 KiB
in69.txt AC 3 ms 8360 KiB
in70.txt AC 2 ms 8416 KiB
in71.txt AC 3 ms 8416 KiB
in72.txt AC 3 ms 8616 KiB
in73.txt AC 2 ms 8416 KiB
in74.txt AC 3 ms 8568 KiB
in75.txt AC 2 ms 8324 KiB
sample01.txt AC 2 ms 8348 KiB
sample02.txt AC 2 ms 8280 KiB
sample03.txt AC 2 ms 8384 KiB