ABC064: C - Colorful Leaderboard
問題
C: Colorful Leaderboard - AtCoder Beginner Contest 064 | AtCoder
解説
3200未満のレートの人間が人、3200以上のレートの人間が人いるとする。 3200未満の場合400で割った値をsetに詰めて重複を殺して数え上げる。 最大数について、人全員が別々の色を使えば良いので、である。 最小数について、
- の場合、人全員が同じ色を使用したときに色の最小数は1である。
- の場合、人全員が人中の何れかの人と同じ色を使えば良いので、使用する色の最小数はである。
int main() { int N; cin >> N; set<int> st; int count = 0; rep(i, N) { int a; cin >> a; if (a >= 3200) { count++; } else { st.insert(a / 400); } } if (st.size() == 0) { std::cout << "1 "; } else { std::cout << st.size() << " "; } std::cout << st.size() + count << "\n"; return 0; }