# Codingame Solution: The greatest element

Original Problem

## Goal

You're given several relations, either < or >. Output the greatest element. If there exists more than one possible output, sort it alphabetically.
Input
Line: Number N of relations
Line: Relation 1
...
Line: Relation N
Output
Line 1: Space separated list of elements.
Constraints
Elements are limited to A-Z.

## Solution

We need a way to represent the relation with a data structure. I think the easiest way is to see every input line as a new competition where we mark every winner as a possible max, if we haven't seen it before. Every loser will never become the maximum, so we mark it accordingly. Holding these informtion in a hash map allows us to filter all positive candidates and print the sorted list like this:

```var N = +readline()
var H = {}
var A = []
for (var i = 0; i < N; i++) {
var min, max, line = readline()
if (line == '<') {
min = line
max = line
} else {
min = line
max = line
}
H[min] = false
H[max] = max in H ? H[max] : true
}
for (var i in H) {
if (H[i])
A.push(i)
}
A.sort();
print(A.join(" "))
```

« Back to problem overview