Canadian Computing Competition: 2010 Stage 1, Senior #1
In order to increase your performance on the ABC (Another Buying Contest), you decide that you need a new computer. When determining which computer to buy, you narrow your search categories to:
- RAM (in gigabytes), denoted as
; - CPU speed (in megahertz), denoted as
; - disk drive space (in gigabytes), denoted as
.
You perform some analysis and determine that the most preferred machine is the machine that has the largest value of the formula
Your task is to read a given list of computers and output the top two computers in order of preference, from highest preference to lowest preference.
Input Specification
The first line of input will be an integer
- computer name (a string of less than
characters) - the RAM available (an integer
with ) - the CPU speed (an integer
with ) - the disk drive space (an integer
with )
There is one space between the name, RAM, CPU speed and disk drive space on each line.
Output Specification
The output is the name of the top two preferred computers, one name per line, sorted in decreasing order of preference. If there is a tie in the rankings, pick the computer(s) whose name(s) are lexicographically smallest (i.e., Apple
is smaller than Dell
). If there is only one computer, output that computer on one line (i.e., do not print it twice).
Sample Input
4
ABC 13 22 1
DEF 10 20 30
GHI 11 2 2
JKL 20 20 20
Output for Sample Input
JKL
DEF
Explanation of Output for Sample Input
Computer ABC
has a computed value of DEF
has a computed value of GHI
has a computed value of JKL
has a computed value of JKL
is the most preferred, followed by computer DEF
.
Comments
Can someone please help, my code always fails on test case 4.
Nvm, it was just a problem with the way I was comparing the string lexicographically.
Since the original data were weak,
new test cases were added that force the output constraints.