Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1aa2ecc

Browse files
committed
ABC170-A, B, C, D
1 parent a9b2cfb commit 1aa2ecc

File tree

5 files changed

+60
-0
lines changed

5 files changed

+60
-0
lines changed

‎abc/README.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,3 +393,14 @@
393393
* [x] D - RGB Triplets
394394
* [x] E - Sum of gcd of Tuples (Hard)
395395
* [x] F - Select Half
396+
397+
## AtCoder Beginner Contest 170
398+
399+
<https://atcoder.jp/contests/abc170>
400+
401+
* [x] A - Five Variables
402+
* [x] B - Crane and Turtle
403+
* [x] C - Forbidden List
404+
* [x] D - Not Divisible
405+
* [ ] E - Smart Infants
406+
* [ ] F - Pond Skater

‎abc/abc170-a/Main.hs‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-- https://github.com/minoki/my-atcoder-solutions
2+
import Data.Char (isSpace)
3+
import Data.List (unfoldr)
4+
import qualified Data.ByteString.Char8 as BS
5+
6+
main = do
7+
xs <- unfoldr (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
8+
print $ 1 + length (takeWhile (/= 0) xs)

‎abc/abc170-b/Main.hs‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-- https://github.com/minoki/my-atcoder-solutions
2+
import Data.Char (isSpace)
3+
import Data.List (unfoldr)
4+
import qualified Data.ByteString.Char8 as BS
5+
6+
main = do
7+
[x,y] <- unfoldr (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
8+
putStrLn $ if or [ 2 *+ 4 *== y |<- [0..x], let= x - 鶴 ] then "Yes" else "No"

‎abc/abc170-c/Main.hs‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
-- https://github.com/minoki/my-atcoder-solutions
2+
import Data.Char (isSpace)
3+
import Data.List (sort, unfoldr)
4+
import qualified Data.ByteString.Char8 as BS
5+
6+
main = do
7+
[x,n] <- unfoldr (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
8+
ps <- unfoldr (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
9+
let (_, answer):_ = sort [ (abs (x - i), i) | i <- [0..101], i `notElem` ps ]
10+
print answer

‎abc/abc170-d/Main.hs‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
-- https://github.com/minoki/my-atcoder-solutions
2+
{-# LANGUAGE TypeApplications #-}
3+
-- {-# LANGUAGE BangPatterns #-}
4+
import Data.Char (isSpace)
5+
import Data.List (unfoldr)
6+
import Control.Monad
7+
import qualified Data.Vector.Unboxed as U
8+
import qualified Data.Vector.Unboxed.Mutable as UM
9+
import qualified Data.ByteString.Char8 as BS
10+
11+
main = do
12+
n <- readLn @Int
13+
xs <- U.unfoldrN n (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
14+
let m = U.maximum xs
15+
let vec :: U.Vector Int
16+
vec = U.create $ do
17+
vec <- UM.replicate (m+1) 0
18+
U.forM_ xs $ \x -> do
19+
UM.modify vec (+ 1) x
20+
forM_ [2*x,3*x..m] $ \i -> do
21+
UM.modify vec (+ 2) i
22+
return vec
23+
print $ length [ () | x <- U.toList xs, vec U.! x <= 1 ]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /