Submission #55520682


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 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
    [x1, y1] <- getIntList
    [x2, y2] <- getIntList
    [x3, y3] <- getIntList
    let d1 = d (x1, y1) (x2, y2)
        d2 = d (x2, y2) (x3, y3)
        d3 = d (x3, y3) (x1, y1)
        (a:b:c:_) = sort [d1, d2, d3]
        p = c == a + b
    putStrLn $ if p then "Yes" else "No"

d (xa, ya) (xb, yb) = (xa - xb)^2 + (ya - yb)^2

Submission Info

Submission Time
Task B - Right Triangle
User pel
Language Haskell (GHC 9.4.5)
Score 200
Code Size 1136 Byte
Status AC
Exec Time 1 ms
Memory 7000 KiB

Compile Error

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: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:25:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: getInt :: IO Int
   |
25 | getInt = readInt <$> BS.getLine
   | ^^^^^^

app/Main.hs:25:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘getInt’
   |
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:28:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: main :: IO ()
   |
28 | main = do
   | ^^^^

app/Main.hs:35:9: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a pattern binding:
        Patterns of type ‘[Int]’ not matched:
            []
            [_]
            [_, _]
   |
35 |         (a:b:c:_) = sort [d1, d2, d3]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Main.hs:39:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      d :: Num a => (a, a) -> (a, a) -> a
   |
39 | d (xa, ya) (xb, yb) = (xa - xb)^2 + (ya - yb)^2
   | ^

app/Main.hs:39:32: warning: [-Wtype-defaults]
    • Defaulting the type variable ‘b0’ to type ‘Integer’ in the following constraints
        (Integral b0) arising from a use of ‘^’ at app/Main.hs:39:32
        (Num b0) arising from the literal ‘2’ at app/Main.hs:39:33
    • In the first argument of ‘(+)’, namely ‘(xa - xb) ^ 2’
      In the expression: (xa - xb) ^ 2 + (ya - yb) ^ 2
      In an equation for ‘d’:
          d (xa, ya) (xb, yb) = (xa - xb) ^ 2 + (ya - yb) ^ 2
   |
39 | d (xa, ya) (xb, yb) = (xa - xb)^2 + (ya - yb)^2
   |                                ^

app/Main.hs:39:46: warning: [-Wtype-defaults]
    • Defaulting the type variable ‘b0’ to type ‘Integer’ in the following constraints
        (Integral b0) arising from a use of ‘^’ at app/Main.hs:39:46
        (Num b0) arising from the literal ‘2’ at app/Main.hs:39:47
    • In the second argument of ‘(+)’, namely ‘(ya - yb) ^ 2’
      In the expression: (xa - xb) ^ 2 + (ya - yb) ^ 2
      In an equation for ‘d’:
          d (xa, ya) (xb, yb) = (xa - xb) ^ 2 + (ya - yb) ^ 2
   |
39 | d (xa, ya) (xb, yb) = (xa - xb)^2 + (ya - yb)^2
   |                                              ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 24
Set Name Test Cases
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, 01_random_15.txt, 02_handmade_00.txt, 02_handmade_01.txt, 02_handmade_02.txt, 02_handmade_03.txt, 02_handmade_04.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 6932 KiB
00_sample_01.txt AC 1 ms 6732 KiB
00_sample_02.txt AC 1 ms 6944 KiB
01_random_00.txt AC 1 ms 6724 KiB
01_random_01.txt AC 1 ms 6992 KiB
01_random_02.txt AC 1 ms 6896 KiB
01_random_03.txt AC 1 ms 6848 KiB
01_random_04.txt AC 1 ms 6928 KiB
01_random_05.txt AC 1 ms 6964 KiB
01_random_06.txt AC 1 ms 6984 KiB
01_random_07.txt AC 1 ms 6952 KiB
01_random_08.txt AC 1 ms 6992 KiB
01_random_09.txt AC 1 ms 7000 KiB
01_random_10.txt AC 1 ms 6960 KiB
01_random_11.txt AC 1 ms 6928 KiB
01_random_12.txt AC 1 ms 6960 KiB
01_random_13.txt AC 1 ms 6836 KiB
01_random_14.txt AC 1 ms 6888 KiB
01_random_15.txt AC 1 ms 6948 KiB
02_handmade_00.txt AC 1 ms 6956 KiB
02_handmade_01.txt AC 1 ms 6936 KiB
02_handmade_02.txt AC 1 ms 6724 KiB
02_handmade_03.txt AC 1 ms 6856 KiB
02_handmade_04.txt AC 1 ms 6944 KiB