座標圧縮せよ、という問題
問題概要
長さ の数列 が与えられるので、座標圧縮せよ。
制約
考えたこと
座標圧縮は次の記事に詳しく書いた。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; vector<int> A(N), B; for (int i = 0; i < N; i++) cin >> A[i]; B = A; sort(B.begin(), B.end()); B.erase(unique(B.begin(), B.end()), B.end()); for (auto a : A) { cout << lower_bound(B.begin(), B.end(), a) - B.begin() + 1 << " "; } cout << endl; }