結果
| 問題 | No.1020 Reverse |
| コンテスト | |
| ユーザー |
poapoa
|
| 提出日時 | 2020-07-30 12:36:05 |
| 言語 | Haskell (9.12.2) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 860 bytes |
| 記録 | |
| コンパイル時間 | 10,972 ms |
| コンパイル使用メモリ | 206,300 KB |
| 実行使用メモリ | 18,048 KB |
| 最終ジャッジ日時 | 2024-07-03 22:00:27 |
| 合計ジャッジ時間 | 11,959 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 3 |
| other | WA * 15 |
コンパイルメッセージ
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
ソースコード
import qualified Control.Arrow as Arrow
import qualified Control.Monad as Monad
import qualified Data.Char as Char
import qualified Data.List as List
import qualified Data.ByteString.Char8 as BSC8
import qualified Data.Vector.Unboxed as VU
import qualified Data.Ord as Ord
getI :: BSC8.ByteString -> Maybe (Int, BSC8.ByteString)
getI = fmap (Arrow.second BSC8.tail) . BSC8.readInt
getAB :: IO (Int, Int)
getAB = (\vec -> (vec VU.! 0, vec VU.! 1)) . VU.unfoldrN 2 getI <$> BSC8.getLine
main :: IO ()
main = do
(n, k) <- getAB
s <- BSC8.unpack <$> BSC8.getLine
if even (n - k)
then solve' n k s
else solve'' n k s
solve', solve'' :: Int -> Int -> String -> IO ()
solve' n k s
= putStrLn $ drop k s ++ (reverse $ take (k - 1) s)
solve'' n k s
= putStrLn $ drop k s ++ take (k - 1) s
poapoa