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