C'était la pire performance de tous les temps: (
A: Multiplication 1 Simplement fais-le.
ABC169a.py
a,b=map(int,input().split())
print(a*b)
B: Multiplication 2 Même si $ N <10 ^ 5 $, si vous le tournez normalement, il devient TLE. Cependant, j'ai essayé de sortir de la boucle en cours de route. ~~ Le calcul du débordement peut prendre un certain temps (bien que ce soit WA quand il déborde en premier lieu). ~~
ABC169b.py
n=int(input())
a=list(map(int,input().split()))
ans=1
if 0 in a:
print(0)
exit()
for i in a:
ans*=i
if ans>10**18:
print(-1)
exit()
print(ans)
C: Multiplication 3 Commentaire AC. Si vous pensez avoir besoin d'un calcul de haute précision, utilisez simplement Decimal au lieu de Float lorsque vous traitez avec des types à virgule flottante. Problème de connaissance.
ABC169c.py
from decimal import Decimal
from math import floor
a,b=map(Decimal,input().split())
print(floor(a*b))
D: Div Game
Combien de types de $ z $ puis-je préparer? En d'autres termes.
Puisque $ z $ peut être exprimé par la puissance des facteurs premiers de $ N
ABC169d.py
def factorization(n):
arr = []
temp = n
for i in range(2, int(-(-n**0.5//1))+1):
if temp%i==0:
cnt=0
while temp%i==0:
cnt+=1
temp //= i
arr.append([i, cnt])
if temp!=1:
arr.append([temp, 1])
if arr==[]:
arr.append([n, 1])
return arr
a=factorization(int(input()))
b=[1,3,6,10,15,21,28,36,43]
ans=0
if len(a)==1 and a[0][0]==1:
print(0)
exit()
for i in a:
for j in range(len(b)):
if i[1]<b[j]:
ans+=j
break
print(ans)
E: Count Median Une valeur qui peut être considérée comme la valeur médiane globale entre la valeur médiane de l'ensemble de A et la valeur médiane de l'ensemble de B. Si N est pair, ce sera par incréments de 0,5, et s'il est impair, ce sera par incréments de 1.
ABC169e.py
def median(q):
l=len(q)
q=sorted(q,reverse=True)
if l%2==0:
return (q[int(l/2)]+q[int(l/2)-1])/2
else:
return q[int((l+1)/2-1)]
n=int(input())
a=[]
b=[]
for i in range(n):
x,y=map(int,input().split())
a.append(x)
b.append(y)
med_a=median(a)
med_b=median(b)
if n%2==0:
print(int(2*(med_b-med_a)+1))
else:
print((med_b-med_a)+1)
Au fait, personnellement, je n'aime pas le format des questions B-C cette fois, bien qu'il s'agisse d'environ huit WA. Si vous utilisez le même esprit, j'aimerais penser à un algorithme qui brise les contraintes, pas aux contraintes d'implémentation elles-mêmes ... Si ces questions continuent à se poser, j'ai l'impression qu'Atcoder n'est pas recommandé à mes amis novices. C'était.
Recommended Posts