Created
March 28, 2013 20:15
-
-
Save mqu/5266423 to your computer and use it in GitHub Desktop.
solution for codingame tutorial2 : http://www.codingame.com/cg/#!training
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# http://www.codingame.com/ide/?target=clogin&s=1&id=719077d960bd6fa93faa2bf63cb0fff80ed64#!test:81047:true:%2523!list | |
=begin | |
Dans cet exercice, on vous demande d'écrire un programme capable d'analyser un relevé de températures pour trouver quelle température se rapproche le plus de zéro. | |
Exemple de températures. Ici, -1 est le plus proche de 0. | |
ENTRÉE : | |
Ligne 1 : le nombre N de températures à analyser | |
Ligne 2 : les N températures exprimées sous la forme de nombres entiers allant de -273 à 5526 | |
SORTIE : | |
Affichez 0 (zéro) si aucune température n'est fournie. | |
Sinon, affichez la température la plus proche de 0 sachant que si deux entiers sont aussi proches de zéro, l'entier positif devra être considéré comme étant le plus proche de zéro (par exemple si les températures sont -5 et 5, affichez 5). | |
CONTRAINTES : | |
0 ≤ N < 10000 | |
EXEMPLE : | |
Entrée | |
5 | |
1 -2 -8 4 5 | |
Sortie | |
1 | |
Mémoire RAM disponible : 256Mo | |
Durée maximum d’exécution : 6 secondes | |
Le programme doit lire les entrées depuis l’entrée standard | |
Le programme doit écrire la réponse dans la sortie standard | |
Le programme doit fonctionner dans l’environnement de test fourni | |
=end | |
# read data from STDIN or from FILES passed as args | |
# and split as lines | |
lines=ARGF.read.split("\n") | |
count=lines[0].to_i | |
if count==0 | |
puts 0 | |
else | |
values=lines[1].split(' ').map{ |v| v=v.to_i} | |
abs=values.map{ |v| v=v.abs} | |
min=values[abs.each_with_index.min[1]] | |
puts values.select { |v| v.abs==min.abs }.max | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment