Ruby Sum ist eine nüchterne und erstaunliche Geschichte

Einführung

Die Geschichte, dass "Summe", die den Ruf hat, schnell und schnell zu sein, wirklich schnell war

Dieses Thema

AtCoder Beginner Contest B - Trapezoid Sum Difficulty: 27

Dieses Thema ist die Summe der Gleichheitsfolgen

Das Thema ist, dass, wenn Sie sie normal hinzufügen, Sie "TLE" erhalten, also die Formel für die Summe der Gleichheitssequenzen

S=n(a+b)/2

Lassen Sie uns verwenden. 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

Hervorragend 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

Es geht normal vorbei. Es scheint, dass "Summe" von "Bereich" intern die Formel der Summe der Gleichheitssequenzen ~~ (angemessen) ~~ verwendet Anscheinend war es wahr. Bitte beachten Sie den Kommentarbereich.

Ruby(inject) Ruby(sum)
Codelänge(Byte) 110 103
Ausführungszeit(ms) TLE 135
Erinnerung(KB) 14344 14392

Zusammenfassung

Recommended Posts

Ruby Sum ist eine nüchterne und erstaunliche Geschichte
Was ist ein Ruby-Modul?
Informationen zum Ruby-Produktoperator (&) und zum Summenoperator (|)
Was ist ein zweidimensionales Ruby-Array?
Eine Geschichte, die Geschäftslogik und Modell trennt
Eine sehr nützliche Geschichte über Rubys Struct-Klasse
Rubin und Edelstein
Was ist ein sicherer Referenzoperator (&.), Der Ruby Ampasand verwendet?
[Ruby] Ich habe einen Crawler mit Anemone und Nokogiri gemacht.
Eine grobe Anmerkung zu Ruby-Arrays und Hash-Objekten