Skip to content

Commit 25dd9f7

Browse files
author
IsHYuhi
committed
ABC031-041
1 parent 911c977 commit 25dd9f7

File tree

26 files changed

+210
-0
lines changed

26 files changed

+210
-0
lines changed

ABC/ABC006/D.py

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from bisect import bisect_left
2+
n = int(input())
3+
c = [int(input()) for _ in range(n)]
4+
5+
dp = [float('inf')] * n
6+
7+
for i in range(n):
8+
dp[bisect_left(dp, c[i])] = c[i]
9+
print(n - bisect_left(dp, float('inf')))
10+
11+
12+
'''O(n^2) TLE'''
13+
# dp = [0]*(n+1)
14+
15+
# res = 0
16+
# for i in range(n):
17+
# dp[i] = 1
18+
# for j in range(n):
19+
# if c[j] < c[i]:
20+
# dp[i] = max(dp[i], dp[j]+1)
21+
# res = max(dp[i], res)
22+
# print(n-res)
23+

ABC/ABC031/A.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
a, d = map(int, input().split())
2+
if a<=d:
3+
print((a+1)*d)
4+
else:
5+
print((d+1)*a)

ABC/ABC031/B.py

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
l, h = map(int, input().split())
2+
n = int(input())
3+
times = [int(input()) for _ in range(n)]
4+
for t in times:
5+
if t <= l:
6+
print(l-t)
7+
elif l <= t <= h:
8+
print(0)
9+
elif h <= t:
10+
print(-1)

ABC/ABC032/A.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
a = int(input())
2+
b = int(input())
3+
n = int(input())
4+
for i in range(n, 1000000):
5+
if(i%a==0 and i%b==0):
6+
print(i)
7+
exit()

ABC/ABC032/B.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
s = input()
2+
k = int(input())
3+
ans = 0
4+
words = set()
5+
for i in range(len(s)-k+1):
6+
if s[i:i+k] not in words:
7+
ans+=1
8+
words.add(s[i:i+k])
9+
print(ans)

ABC/ABC033/A.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
N = input()
2+
if N[0]==N[1]==N[2]==N[3]:
3+
print("SAME")
4+
else:
5+
print("DIFFERENT")

ABC/ABC033/B.py

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
n = int(input())
2+
s = []
3+
r = []
4+
for _ in range(n):
5+
_s, _r = input().split()
6+
s.append(_s)
7+
r.append(int(_r))
8+
total = sum(r)//2
9+
10+
for i in range(n):
11+
if r[i]>total:
12+
print(s[i])
13+
exit()
14+
print('atcoder')

ABC/ABC033/C.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
s = list(input().split('+'))
2+
ans =0
3+
for i in s:
4+
each = i.split('*')
5+
if '0' not in each:
6+
ans+=1
7+
print(ans)

ABC/ABC034/A.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
x, y = map(int, input().split())
2+
if x<y:
3+
print('Better')
4+
else:
5+
print('Worse')

ABC/ABC034/B.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
n = int(input())
2+
if n%2==0:
3+
print(n-1)
4+
else:
5+
print(n+1)

ABC/ABC035/A.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
w, h = map(int, input().split())
2+
3+
if w/h == 4/3:
4+
print('4:3')
5+
else:
6+
print('16:9')

ABC/ABC035/B.py

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from collections import Counter
2+
s = input()
3+
t = int(input())
4+
5+
s = Counter(s)
6+
move = ['L', 'R', 'U', 'D']
7+
x = y = 0
8+
for d in move:
9+
if s.get(d):
10+
if d == 'L':
11+
x -= s.get(d)
12+
elif d == 'R':
13+
x += s.get(d)
14+
elif d == 'U':
15+
y += s.get(d)
16+
elif d == 'D':
17+
y -= s.get(d)
18+
19+
if s.get('?'):
20+
q = s.get('?')
21+
if t==1:
22+
print(abs(x)+abs(y)+q)
23+
else:
24+
if 0<abs(x)+abs(y)<q:
25+
print((q-(abs(x)+abs(y)))%2)
26+
elif 0 == abs(x)+abs(y):
27+
print((q%2))
28+
else:
29+
print(abs(x)+abs(y)-q)

ABC/ABC036/A.py

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import math
2+
a, b = map(int, input().split())
3+
4+
print(math.ceil(b/a))

ABC/ABC036/B.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
n = int(input())
2+
3+
field = [list(input()) for _ in range(n)]
4+
for i in range(n):
5+
for j in reversed(range(n)):
6+
print(field[j][i], end='')
7+
print('')

ABC/ABC037/A.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
a, b, c = map(int, input().split())
2+
3+
print(c//min(a,b)+(c-min(a,b)*(c//min(a,b)))//max(a,b))

ABC/ABC037/B.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
n, q = map(int, input().split())
2+
lrt = [list(map(int, input().split())) for _ in range(q)]
3+
sequence = [0]*n
4+
5+
for l, r, t in lrt:
6+
sequence[l-1:r] = [t]*(r-l+1)
7+
8+
for i in sequence:
9+
print(i)

ABC/ABC038/A.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
s = input()
2+
3+
if s[-1]=='T':
4+
print('YES')
5+
else:
6+
print('NO')

ABC/ABC038/B.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
h1, w1 = map(int, input().split())
2+
h2, w2 = map(int, input().split())
3+
4+
if h1==h2 or w1==h2 or w2==h1 or w1==w2:
5+
print('YES')
6+
else:
7+
print('NO')

ABC/ABC039/A.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
a, b, c = map(int, input().split())
2+
print(b*c*2+a*b*2+a*c*2)

ABC/ABC039/B.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
x = int(input())
2+
print(int(x**(1/4)))

ABC/ABC039/C.py

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from collections import Counter
2+
onkai_m = ['Mi', 'Fa', 'So', 'La', 'Si', 'Do', 'Re'][::-1]
3+
onkai_s = [ 'Si', 'Do', 'Re', 'Mi', 'Fa', 'So', 'La'][::-1]
4+
5+
s = input()
6+
for i in range(20-1):
7+
if s[i:i+2] == 'WW':
8+
index = i+1
9+
break
10+
num = Counter(s[index:index+6])
11+
12+
w_num = Counter(s[:index-1])
13+
w_num = w_num['W']
14+
if num['B']==3:
15+
print(onkai_m[w_num-1])
16+
elif num['B']==2:
17+
print(onkai_s[w_num-1])

ABC/ABC040/A.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
n , x = map(int, input().split())
2+
3+
print(min(n-x, x-1))

ABC/ABC040/B.py

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import math
2+
n = int(input())
3+
4+
5+
x, y = 0, 0
6+
ans = float('inf')
7+
for i in range(1, n+1):
8+
for j in range(i, n+1):
9+
if i*j>n:
10+
break
11+
ans = min(ans, n-i*j+abs(i-j))
12+
print(ans)

ABC/ABC041/A.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
s = input()
2+
i = int(input())
3+
print(s[i-1])

ABC/ABC041/B.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
a, b, c = map(int, input().split())
2+
3+
print(a*b*c%(10**9+7))

ABC/ABC041/C.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
n = int(input())
2+
a = list(map(int, input().split()))
3+
b = [i for i in range(1, n+1)]
4+
c = zip(a, b)
5+
c = sorted(c, reverse=True, key=lambda x: x[0])
6+
for _, i in c:
7+
print(i)

0 commit comments

Comments
 (0)