Submission #213853


Source Code Expand

{-# LANGUAGE CPP #-}
#ifndef HDEVTOOLS
{-# OPTIONS_GHC -O2 -funbox-strict-fields #-}
#endif
{-# LANGUAGE BangPatterns, ViewPatterns, OverloadedStrings #-}

import Control.Applicative
import Control.Monad
import qualified Data.ByteString.Char8 as S

import Debug.Trace
import Text.Printf

main :: IO ()
main = do
  [n, h] <- map readInt . S.words <$> S.getLine
  [a, b, c, d, e] <- map readInt . S.words <$> S.getLine
  print $ solve n h a b c d e

solve :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int
solve n h a b c d e = minimum $ do
  let !required = n * e - h + 1
  let !normal = b + e
  let !thrift = d + e
  nNormal <- [0..n]
  let !required1 = required - nNormal * normal
  let !nThrift = max 0 $ (required1 + thrift - 1) `div` thrift
  guard $ nNormal + nThrift <= n
  let !r = a * nNormal + c * nThrift
  --trace (printf "%d %d -> %d" nNormal nThrift r) $ return ()
  return r

readInt :: S.ByteString -> Int
readInt s = case S.readInt s of
  Just (r, "") -> r
  _ -> error $ "not an integer: " ++ show s

Submission Info

Submission Time
Task C - 節制
User mkotha
Language Haskell (GHC 7.4.1)
Score 101
Code Size 1059 Byte
Status AC
Exec Time 77 ms
Memory 1828 KB

Judge Result

Set Name Subtask1 Subtask2 Subtask3 Subtask4
Score / Max Score 10 / 10 30 / 30 60 / 60 1 / 1
Status
AC × 25
AC × 25
AC × 86
AC × 99
Set Name Test Cases
Subtask1 sample_1.txt, sample_2.txt, sample_3.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt
Subtask2 sample_1.txt, sample_2.txt, sample_3.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt
Subtask3 sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt
Subtask4 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt, 04_010.txt, 04_011.txt, 04_020.txt, 04_021.txt, 04_100.txt, 04_101.txt, 04_110.txt, 04_111.txt, 04_200.txt, 04_201.txt, 04_220.txt, 04_221.txt, 04_random01.txt, 04_random02.txt, 04_random03.txt, 04_random04.txt, 04_random05.txt
Case Name Status Exec Time Memory
01_010.txt AC 24 ms 1432 KB
01_011.txt AC 25 ms 1308 KB
01_020.txt AC 25 ms 1248 KB
01_021.txt AC 25 ms 1308 KB
01_100.txt AC 24 ms 1304 KB
01_101.txt AC 24 ms 1308 KB
01_110.txt AC 25 ms 1308 KB
01_111.txt AC 25 ms 1316 KB
01_200.txt AC 27 ms 1428 KB
01_201.txt AC 24 ms 1268 KB
01_220.txt AC 26 ms 1304 KB
01_221.txt AC 24 ms 1312 KB
01_random01.txt AC 24 ms 1304 KB
01_random02.txt AC 29 ms 1304 KB
01_random03.txt AC 28 ms 1260 KB
01_random04.txt AC 25 ms 1304 KB
01_random05.txt AC 25 ms 1312 KB
01_random06.txt AC 24 ms 1316 KB
01_random07.txt AC 25 ms 1308 KB
01_random08.txt AC 25 ms 1312 KB
01_random09.txt AC 24 ms 1436 KB
01_random10.txt AC 28 ms 1308 KB
02_010.txt AC 25 ms 1316 KB
02_011.txt AC 25 ms 1264 KB
02_020.txt AC 25 ms 1308 KB
02_021.txt AC 25 ms 1308 KB
02_100.txt AC 25 ms 1308 KB
02_101.txt AC 27 ms 1308 KB
02_110.txt AC 25 ms 1316 KB
02_111.txt AC 26 ms 1244 KB
02_200.txt AC 24 ms 1256 KB
02_201.txt AC 25 ms 1436 KB
02_220.txt AC 24 ms 1312 KB
02_221.txt AC 24 ms 1308 KB
02_random01.txt AC 25 ms 1264 KB
02_random02.txt AC 25 ms 1308 KB
02_random03.txt AC 25 ms 1304 KB
02_random04.txt AC 24 ms 1312 KB
02_random05.txt AC 25 ms 1432 KB
02_random06.txt AC 24 ms 1308 KB
02_random07.txt AC 24 ms 1312 KB
02_random08.txt AC 24 ms 1308 KB
02_random09.txt AC 24 ms 1436 KB
02_random10.txt AC 25 ms 1312 KB
03_010.txt AC 25 ms 1568 KB
03_011.txt AC 25 ms 1304 KB
03_012.txt AC 26 ms 1564 KB
03_020.txt AC 24 ms 1304 KB
03_021.txt AC 25 ms 1684 KB
03_022.txt AC 24 ms 1312 KB
03_100.txt AC 26 ms 1564 KB
03_101.txt AC 24 ms 1432 KB
03_102.txt AC 26 ms 1568 KB
03_110.txt AC 25 ms 1512 KB
03_111.txt AC 25 ms 1564 KB
03_112.txt AC 24 ms 1564 KB
03_200.txt AC 24 ms 1444 KB
03_201.txt AC 25 ms 1692 KB
03_202.txt AC 24 ms 1440 KB
03_220.txt AC 27 ms 1440 KB
03_221.txt AC 24 ms 1564 KB
03_222.txt AC 24 ms 1520 KB
03_random01.txt AC 24 ms 1436 KB
03_random02.txt AC 26 ms 1308 KB
03_random03.txt AC 24 ms 1568 KB
03_random04.txt AC 24 ms 1688 KB
03_random05.txt AC 23 ms 1432 KB
03_random06.txt AC 25 ms 1564 KB
03_random07.txt AC 24 ms 1308 KB
03_random08.txt AC 25 ms 1564 KB
03_random09.txt AC 26 ms 1564 KB
03_random10.txt AC 26 ms 1380 KB
03_random11.txt AC 32 ms 1564 KB
03_random12.txt AC 26 ms 1628 KB
03_random13.txt AC 25 ms 1568 KB
03_random14.txt AC 28 ms 1564 KB
03_random15.txt AC 27 ms 1432 KB
03_random16.txt AC 25 ms 1648 KB
03_random17.txt AC 26 ms 1564 KB
03_random18.txt AC 25 ms 1264 KB
03_random19.txt AC 27 ms 1308 KB
03_random20.txt AC 25 ms 1304 KB
04_010.txt AC 66 ms 1776 KB
04_011.txt AC 66 ms 1820 KB
04_020.txt AC 65 ms 1820 KB
04_021.txt AC 64 ms 1824 KB
04_100.txt AC 68 ms 1756 KB
04_101.txt AC 58 ms 1820 KB
04_110.txt AC 51 ms 1824 KB
04_111.txt AC 53 ms 1820 KB
04_200.txt AC 31 ms 1820 KB
04_201.txt AC 27 ms 1748 KB
04_220.txt AC 40 ms 1764 KB
04_221.txt AC 60 ms 1820 KB
04_random01.txt AC 27 ms 1820 KB
04_random02.txt AC 34 ms 1820 KB
04_random03.txt AC 45 ms 1828 KB
04_random04.txt AC 77 ms 1824 KB
04_random05.txt AC 38 ms 1824 KB
sample_1.txt AC 25 ms 1308 KB
sample_2.txt AC 25 ms 1308 KB
sample_3.txt AC 26 ms 1244 KB
sample_4.txt AC 25 ms 1564 KB