Une grosse bombe mortelle de 9 pena. Grâce au problème E de dernière minute une minute et demie avant la fin, la note a légèrement baissé.
Percer en 1 minute. Il suffit d'écrire.
X = int(input())
if X >= 30:
    print('Yes')
else:
    print('No')
Percer en deux minutes et demie. Il suffit d'écrire.
N, D = map(int, input().split())
result = 0
for _ in range(N):
    X, Y = map(int, input().split())
    if X * X + Y * Y <= D * D:
        result += 1
print(result)
Percer dans environ 20 minutes RE × 1, WA × 4. Répétez l'échange de la pierre blanche la plus à gauche avec la pierre rouge la plus à droite jusqu'à ce qu'il n'y ait plus de pierre rouge sur le côté droit de la pierre blanche. Bien. C'est facile à dire, mais je suis accro à la mise en œuvre ...
N = int(input())
c = input()
d = list(c)
i = 0
j = N - 1
result = 0
while True:
    while i < N and d[i] != 'W':
        i += 1
    while j > 0 and d[j] != 'R':
        j -= 1
    if i == N or j == -1 or i >= j:
        break
    d[i] = 'R'
    d[j] = 'W'
    result += 1
print(result)
Il a éclaté en 28 minutes environ? Je pensais pouvoir l'écrire naïf parce que c'était un problème C, mais j'ai mangé TLE dans l'exemple d'entrée 3 et il était d'un bleu profond. La valeur maximale était probablement K-1
K = int(input())
t = 7
for i in range(K):
    if t % K == 0:
        print(i + 1)
        break
    t = (t * 10 + 7) % K
else:
    print(-1)
Addendum: Comme il existe un type K -1 à l'exception du reste 0 divisé par K, la valeur maximale a été décidée à K -1. Si la même valeur apparaît au milieu, elle ne sera pas 0 car il s'agit d'une boucle.
Percer en 47 minutes. TLE × 1, RE × 3. Écrivez et soumettez le code qui donne la bonne réponse avec heapq, puis notez K ≤ 10 9 </ sup>. Efforts pour accélérer avec heapq pendant 24 minutes Après avoir fait cela, j'ai flashé le moment où il a échoué, et j'ai écrit le code en 13 minutes, et c'était déjà une minute et demie avant la fin. J'ai réussi, il a été sauvegardé. Mais ʻabs (ng --ok)> J'avais l'habitude d'y aller avec 1`.
from math import ceil
N, K, *A = map(int, open(0).read().split())
def is_ok(n):
    t = 0
    for a in A:
        if a <= n:
            continue
        t += ceil(a / n) - 1
    return t <= K
ok = 1000000000
ng = 0.0000000001
while abs(ng - ok) > 1:
    m = (ok + ng) // 2
    if is_ok(m):
        ok = m
    else:
        ng = m
print(ceil(ok))
Recommended Posts