提出 #576251
ソースコード 拡げる
import Control.Applicative
import Data.Monoid
import Data.List
import Data.Foldable (fold)
import Debug.Trace
data Max a b = Max !a b | NoMax
instance (Ord a, Monoid b) => Monoid (Max a b) where
mempty = NoMax
mappend (Max a xs) (Max b ys) = case compare a b of
LT -> Max b ys
EQ -> Max a (mappend xs ys)
GT -> Max a xs
mappend NoMax a = a
mappend a NoMax = a
solve :: Int -> [Int] -> [Int]
solve siz xs = do
m <- [0..siz-1]
let Max _ (Endo f) = fold $ do
n <- [0..siz-1]
ys <- case compare m n of
LT -> return $ take (n - m + 1) (drop m xs)
EQ -> []
GT -> return $ take (m - n + 1) (drop n xs)
let (us, vs) = halves ys
let z = sum vs
return $ Max (z, -n) (Endo (sum us:))
f []
halves :: [a] -> ([a], [a])
halves (x:y:ys) = (x : ls, y : rs) where
(ls, rs) = halves ys
halves xs = (xs, [])
main = do
siz <- readLn
xs <- map read <$> words <$> getLine
print $ maximum $ solve siz xs
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - 数列ゲーム |
| ユーザ | fumieval |
| 言語 | Haskell (Haskell Platform 2014.2.0.0) |
| 得点 | 100 |
| コード長 | 1034 Byte |
| 結果 | AC |
| 実行時間 | 34 ms |
| メモリ | 1944 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 100 / 100 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample-01.txt, sample-02.txt, sample-03.txt |
| All | test-01.txt, test-02.txt, test-03.txt, test-04.txt, test-05.txt, test-06.txt, test-07.txt, test-08.txt, test-09.txt, test-10.txt, test-11.txt, test-12.txt, test-13.txt, test-14.txt, test-15.txt, test-16.txt, test-17.txt, test-18.txt, test-19.txt, test-20.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample-01.txt | AC | 33 ms | 1428 KiB |
| sample-02.txt | AC | 29 ms | 1304 KiB |
| sample-03.txt | AC | 28 ms | 1308 KiB |
| test-01.txt | AC | 28 ms | 1380 KiB |
| test-02.txt | AC | 29 ms | 1556 KiB |
| test-03.txt | AC | 30 ms | 1816 KiB |
| test-04.txt | AC | 30 ms | 1812 KiB |
| test-05.txt | AC | 31 ms | 1816 KiB |
| test-06.txt | AC | 30 ms | 1752 KiB |
| test-07.txt | AC | 32 ms | 1816 KiB |
| test-08.txt | AC | 33 ms | 1812 KiB |
| test-09.txt | AC | 31 ms | 1816 KiB |
| test-10.txt | AC | 32 ms | 1816 KiB |
| test-11.txt | AC | 31 ms | 1816 KiB |
| test-12.txt | AC | 30 ms | 1936 KiB |
| test-13.txt | AC | 31 ms | 1816 KiB |
| test-14.txt | AC | 32 ms | 1820 KiB |
| test-15.txt | AC | 32 ms | 1816 KiB |
| test-16.txt | AC | 32 ms | 1812 KiB |
| test-17.txt | AC | 31 ms | 1944 KiB |
| test-18.txt | AC | 31 ms | 1816 KiB |
| test-19.txt | AC | 34 ms | 1772 KiB |
| test-20.txt | AC | 32 ms | 1828 KiB |