Official

B - Representative Balls Editorial by cn449


各色について大きさの最大値を管理する変数を用意しておきます。

ボールを順に確認し、ボールがその色のボールの大きさの最大値を更新する場合は実際に管理している量を更新すればよいです。

ここで、各色について大きさの最大値の初期値を \(-1\) としておくと、実装上で答えが \(-1\) の場合の場合分けをする必要がなくなります。

実装例

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, m;
	cin >> n >> m;
	vector<int> a(m, -1);
	for (int i = 0; i < n; i++) {
		int c, s;
		cin >> c >> s;
		c--;
		if (a[c] < s) a[c] = s;
	}
	for (int i = 0; i < m; i++) cout << a[i] << " \n"[i == m - 1];
}

posted:
last update: