L'histoire de «sum», qui a la réputation d'être rapide et rapide, était vraiment rapide
AtCoder Beginner Contest B - Trapezoid Sum Difficulty: 27
Ce thème, la somme de la séquence d'égalité
Le thème est que si vous les ajoutez normalement, vous obtiendrez TLE
, donc la formule pour la somme des séquences d'égalité
S=n(a+b)/2
Utilisons. inject(TLE)
ruby.rb
n = gets.to_i
sum = 0
n.times do
a, b = gets.split.map(&:to_i)
sum += (a..b).inject(:+)
end
puts sum
Superbement TLE
sum(AC)
ruby.rb
n = gets.to_i
sum = 0
n.times do
a, b = gets.split.map(&:to_i)
sum += (a..b).sum
end
puts sum
Ça passe normalement. Il semble que «somme» de «plage» utilise en interne la formule de la somme de la séquence d'égalité ~~ (appropriée) ~~ Apparemment, c'était vrai. Veuillez vous référer à la section des commentaires.
Ruby(inject) | Ruby(sum) | |
---|---|---|
Longueur du code(Byte) | 110 | 103 |
Temps d'exécution(ms) | TLE | 135 |
Mémoire(KB) | 14344 | 14392 |
Recommended Posts