結果
問題 |
No.1110 好きな歌
|
ユーザー |
![]() |
提出日時 | 2019-10-22 11:54:17 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 134 ms / 5,000 ms |
コード長 | 677 bytes |
コンパイル時間 | 1,991 ms |
コンパイル使用メモリ | 176,072 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-13 10:05:00 |
合計ジャッジ時間 | 7,616 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 51 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int n, d; cin >> n >> d; assert(1 <= n && n <= 200000); assert(1 <= d && d <= 1000000000); vector<pair<int, int>> p; for (int i = 0; i < n; i++) { int a_i; cin >> a_i; assert(1 <= a_i && a_i <= 1000000000); p.emplace_back(a_i, i); } sort(p.begin(), p.end()); vector<int> a(n), ans(n); for (int i = 0; i < n; i++) a.at(i) = p.at(i).first; for (int i = 0; i < n; i++) { ans.at(p.at(i).second) = upper_bound(a.begin(), a.end(), a.at(i) - d) - a.begin(); } for (int i = 0; i < n; i++) { cout << ans.at(i) << "\n"; } }