[At Coder] Résolvez le problème ABC182 D avec Ruby

problème

AtCoder Beginner Contest 182

D - Wandering

Compte tenu de la séquence $ A_1, A_2, A_3, ..., A_N $. Cette séquence de nombres peut contenir des éléments négatifs. Le robot situé à la coordonnée $ 0 $ sur la droite numérique effectue les opérations suivantes dans l'ordre.

Avancez $ A_1 $ dans le sens positif. Avancez $ A_1 $ dans le sens positif et $ A_2 $ dans le sens positif. Transférer $ A_1 $ dans le sens positif, $ A_2 $ dans le sens positif et $ A_3 $ dans le sens positif. ⋮ Avancez $ A_1 $ dans le sens positif, $ A_2 $ dans le sens positif, $ A_3 $ dans le sens positif, $ ... $, $ A_N $ dans le sens positif.

Trouvez la valeur maximale des coordonnées du robot du début à la fin de l'opération.

Contrainte

1≦N≦200000 -10^8≦A_i≦10^8 Toutes les entrées sont des entiers

contribution

N A_1 A_2 A_3 ... A_N

Répondre

n = gets.chomp.to_i
a = gets.chomp.split.map(&:to_i)

#Coordonnées du robot après l'opération
position = 0

#Quantité de mouvement due au mouvement
total_move = 0

#Valeur maximale des coordonnées du début à la fin lorsque l'opération commence à la coordonnée 0
max_move = 0

#Valeur maximale des coordonnées du robot
max_pos = 0

a.each do |move|
    total_move += move
    if total_move > max_move
        max_move = total_move
    end
    if position + max_move > max_pos
        max_pos = position + max_move
    end
    position += total_move
end

puts max_pos

Recommended Posts

[At Coder] Résolvez le problème ABC183 D avec Ruby
[At Coder] Résolvez le problème ABC182 D avec Ruby
Résolution avec Ruby AtCoder ABC177 D Union Find
[Competition Pro] Résolvez les problèmes de sac à dos avec Ruby
AtCoder ABC127 D hash à résoudre avec Ruby 2.7.1
[Débutant] Résolvons le problème d'AtCoder avec Ruby en regardant l'article!
J'ai essayé de résoudre le problème de la "sélection multi-étapes" avec Ruby
[Chez Coder] Présentation de Competitive Pro avec Ruby
J'ai essayé de résoudre le problème de la séquence Tribonacci en Ruby, avec récurrence.
Problème atcoder ABC70 D
Tableau 2D AtCoder ABC129 D résolu en Ruby et Java
Résolvez le problème du logarithme discret avec un mod arbitraire
Résolvons le problème FizzBuzz!
[Ruby] problème avec l'instruction if
Recherche de priorité de largeur AtCoder ABC 136 D résolue en Ruby, Perl et Java
Programmation avec ruby (en route)
Résoudre la moyenne multiset ARC104 D avec Scala, Java, C ++, Ruby, Perl, Elixir
Résoudre le problème du sac à dos avec une planification dynamique
J'ai essayé de résoudre le problème de la séquence Tribonacci en Ruby (temps limite 10 minutes)
Problème de rubis ⑦
[Ruby] Définissez la hiérarchie en même temps que l'initialisation de Hash avec la méthode tap
Gérez la version de Ruby elle-même avec rbenv
Un rapide coup d'œil sur le problème de Monty Hall
Déterminez la page actuelle avec Ruby on Rails
[Java] Essayez de résoudre le problème de Fizz Buzz
J'ai vérifié le nombre de taxis avec Ruby