Dernière fois Résolvez 3 Medium de Boot Camp pour les débutants.
#53 ABC118-C
** Pensées ** Je pensais que ce que je faisais était similaire à la méthode de division mutuelle, et quand j'ai regardé l'exemple de cas, j'ai trouvé qu'elle était correcte, alors je l'ai mise en œuvre telle quelle. Calculez l'engagement maximum pour tous les éléments.
import fractions #Pas de maths
n = int(input())
a = list(map(int,input().split()))
ans = fractions.gcd(a[0],a[1])
for i in range(2,n):
ans = fractions.gcd(ans,a[i])
print(ans)
** Pensées ** Calculez tous les cas. C'est un gaspillage à additionner à chaque fois, alors calculez bien
n = int(input())
a = list(map(int,input().split()))
d = sum(a)
ans = float('inf')
for i in range(n-1):
if i == 0:
x = a[0]
y = d - x
else:
x += a[i]
y -= a[i]
ans = min(abs(x-y),ans)
print(ans)
** Pensées ** Problème multiple courant minimum typique
import fractions
n = int(input())
t = [int(input()) for _ in range(n)]
ans = t[0]
for i in range(1,n):
ans = ans * t[i] // fractions.gcd(ans, t[i])
print(ans)
Je ne peux pas me concentrer sur le problème car mon rythme de vie est brisé, alors je vais le résoudre. à plus.
Recommended Posts