Percer en 5 minutes. Il suffit d'écrire. Cela a pris beaucoup de temps car l'énoncé du problème ne s'affichait pas au milieu.
K, X = map(int, input().split())
if 500 * K >= X:
print('Yes')
else:
print('No')
Percer en deux minutes et demie. Il suffit d'écrire.
N = int(input())
S = input()
result = 0
for i in range(N):
if S[i:i+3] == 'ABC':
result += 1
print(result)
Il a éclaté en 26 minutes. C'était difficile pour un problème C, ou je n'avais pas l'impression de pouvoir le résoudre au début. J'aurais aimé avoir juste ajouté honnêtement ...
N = int(input())
P = list(map(int, input().split()))
Q = list(map(int, input().split()))
fac = [0] * 8
fac[1] = 1
for i in range(2, N):
fac[i] = i * fac[i - 1]
a = 0
l = list(range(1, N + 1))
for i in range(N):
a += l.index(P[i]) * fac[len(l) - 1]
l.remove(P[i])
b = 0
l = list(range(1, N + 1))
for i in range(N):
b += l.index(Q[i]) * fac[len(l) - 1]
l.remove(Q[i])
print(abs(a - b))
ABC150D - Semi Common Multiple
Vaincu.
Postscript: je l'ai écrit selon l'explication dans le PDF.
from fractions import gcd
N, M = map(int, input().split())
A = list(map(int, input().split()))
a = A[0]
n = 1
while a % 2 == 0:
n *= 2
a //= 2
lcm = 1
for a in A:
if a % n != 0 or a % (2 * n) == 0:
print(0)
exit()
lcm = lcm * a // gcd(lcm, a)
if lcm // 2 > M:
print(0)
exit()
print((M - lcm // 2) // lcm + 1)
Recommended Posts