結果
| 問題 |
No.4 おもりと天秤
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-11-01 05:07:09 |
| 言語 | Haskell (9.10.1) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 621 bytes |
| コンパイル時間 | 7,043 ms |
| コンパイル使用メモリ | 173,568 KB |
| 実行使用メモリ | 813,824 KB |
| 最終ジャッジ日時 | 2024-09-13 06:46:06 |
| 合計ジャッジ時間 | 10,768 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 5 MLE * 1 -- * 17 |
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default [1 of 2] Compiling Main ( Main.hs, Main.o ) [2 of 2] Linking a.out
ソースコード
-- yukicoder My Practice
-- author: Leonardone @ NEETSDKASU
-- http://yukicoder.me/problems/19
import Data.List
main = do
n <- getLine
w <- getLine
putStrLn $ main' n w
main' n ws =
let
w = reverse $ sort $ map read $ words ws
s = sum w
h = s `div` 2
in
if h * 2 == s && solve h [0] [] w then "possible" else "impossible"
solve _ _ _ [] = False
solve s [] ls (x:xs) = solve s ls [] xs
solve s (t:ts) ls (x:xs)
| y == s = True
| y > s = solve s ts zs (x:xs)
| y < s = solve s ts (y:zs) (x:xs)
where
y = x + t
zs = (t:ls)