結果
| 問題 |
No.4 おもりと天秤
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-11-01 20:09:25 |
| 言語 | Haskell (9.10.1) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 717 bytes |
| コンパイル時間 | 245 ms |
| コンパイル使用メモリ | 151,168 KB |
| 最終ジャッジ日時 | 2024-06-26 09:19:25 |
| 合計ジャッジ時間 | 598 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default
[1 of 2] Compiling Main ( Main.hs, Main.o )
Main.hs:6:1: error: [GHC-87110]
Could not load module ‘Data.Set’.
It is a member of the hidden package ‘containers-0.6.8’.
Use -v to see a list of the files searched for.
|
6 | import qualified Data.Set as Set
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ソースコード
-- yukicoder My Practice
-- author: Leonardone @ NEETSDKASU
-- http://yukicoder.me/problems/19
import Data.List
import qualified Data.Set as Set
main = do
n <- getLine
w <- getLine
putStrLn $ main' n w
main' n ws =
let
w = map read $ words ws
s = sum w
h = s `div` 2
in
if h * 2 == s && solve h [0] w Set.empty then "possible" else "impossible"
solve _ _ [] _ = False
solve s [] (x:xs) ls =
let lls = Set.insert x ls
in solve s (Set.toList lls) xs Set.empty
solve s (t:ts) (x:xs) ls
| y == s = True
| y > s = slv lls
| y < s = slv (Set.insert y lls)
where
y = t + x
lls = Set.insert t ls
slv = solve s ts (x:xs)