提出 #16938261
ソースコード 拡げる
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
#include <functional>
#include <utility>
using i64 = long long;
int main() {
int n;
std::cin >> n;
std::vector<std::pair<int, int>> r(n + 1), s;
std::vector<int> ca(n + 1), cb(n + 1);
for (int i = 0; i < n; i++) {
int a;
std::cin >> a;
ca[a]++;
if (ca[a] == 1) r[a] = std::make_pair(i, i + 1);
else r[a].second++;
}
for (int i = 0; i < n; i++) {
int b;
std::cin >> b;
cb[b]++;
}
for (int i = 1; i <= n; i++) {
const int t = ca[i] + cb[i];
if (t > n) {
std::cout << "No" << std::endl;
return 0;
}
if (t) s.emplace_back(t, i);
}
std::sort(s.begin(), s.end(), std::greater<>());
std::vector<int> ret(n);
try {
std::set<int> ss;
for (int i = 0; i < n; i++) ss.insert(i);
std::vector<int> ex;
for (const auto [c, i] : s) {
const int bb = cb[i];
for (int j = r[i].first; j < r[i].second; j++) {
auto it = ss.find(j);
if (it != ss.end()) {
ex.push_back(*it);
ss.erase(it);
}
}
for (int j = 0; j < bb; j++) {
if (ss.empty()) throw 0;
auto it = ss.begin();
ret[*it] = i;
ss.erase(*it);
}
for (const int j : ex) ss.insert(j);
ex.clear();
}
} catch (...) {
std::set<int> ss;
for (int i = 0; i < n; i++) ss.insert(i);
std::vector<int> ex;
for (const auto [c, i] : s) {
const int bb = cb[i];
for (int j = r[i].first; j < r[i].second; j++) {
auto it = ss.find(j);
if (it != ss.end()) {
ex.push_back(*it);
ss.erase(it);
}
}
for (int j = 0; j < bb; j++) {
if (ss.empty()) throw 0;
auto it = ss.rbegin();
ret[*it] = i;
ss.erase(*it);
}
for (const int j : ex) ss.insert(j);
ex.clear();
}
}
std::cout << "Yes\n";
for (const int e : ret) std::cout << e << ' ';
std::cout << std::endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Contrast |
| ユーザ | CharlotteL |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 600 |
| コード長 | 2497 Byte |
| 結果 | AC |
| 実行時間 | 250 ms |
| メモリ | 18084 KiB |
ジャッジ結果
| セット名 | Sample | All | ||
|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 600 / 600 | ||
| 結果 | AC |
|
| セット名 | テストケース |
|---|---|
| Sample | |
| All | case03, case04, case05, case06, case07, case08, case09, case10, case11, case12, case13, case14, case15, case16, case17, case18, case19, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, sample00, sample01, sample02 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| case03 | AC | 8 ms | 3604 KiB |
| case04 | AC | 2 ms | 3628 KiB |
| case05 | AC | 2 ms | 3604 KiB |
| case06 | AC | 3 ms | 3628 KiB |
| case07 | AC | 2 ms | 3560 KiB |
| case08 | AC | 2 ms | 3556 KiB |
| case09 | AC | 2 ms | 3632 KiB |
| case10 | AC | 5 ms | 3580 KiB |
| case11 | AC | 2 ms | 3580 KiB |
| case12 | AC | 117 ms | 16332 KiB |
| case13 | AC | 52 ms | 6340 KiB |
| case14 | AC | 72 ms | 6380 KiB |
| case15 | AC | 118 ms | 16464 KiB |
| case16 | AC | 155 ms | 17292 KiB |
| case17 | AC | 140 ms | 16228 KiB |
| case18 | AC | 135 ms | 16232 KiB |
| case19 | AC | 135 ms | 16284 KiB |
| case20 | AC | 143 ms | 16224 KiB |
| case21 | AC | 168 ms | 16668 KiB |
| case22 | AC | 141 ms | 16300 KiB |
| case23 | AC | 142 ms | 16388 KiB |
| case24 | AC | 203 ms | 16372 KiB |
| case25 | AC | 199 ms | 16376 KiB |
| case26 | AC | 139 ms | 16460 KiB |
| case27 | AC | 135 ms | 16372 KiB |
| case28 | AC | 53 ms | 6380 KiB |
| case29 | AC | 52 ms | 6376 KiB |
| case30 | AC | 207 ms | 16332 KiB |
| case31 | AC | 135 ms | 16464 KiB |
| case32 | AC | 139 ms | 16388 KiB |
| case33 | AC | 134 ms | 16412 KiB |
| case34 | AC | 139 ms | 16300 KiB |
| case35 | AC | 186 ms | 18084 KiB |
| case36 | AC | 182 ms | 16512 KiB |
| case37 | AC | 250 ms | 16488 KiB |
| case38 | AC | 176 ms | 16560 KiB |
| case39 | AC | 141 ms | 16460 KiB |
| case40 | AC | 133 ms | 16464 KiB |
| case41 | AC | 134 ms | 16372 KiB |
| case42 | AC | 142 ms | 16372 KiB |
| case43 | AC | 196 ms | 16388 KiB |
| case44 | AC | 131 ms | 16368 KiB |
| case45 | AC | 133 ms | 16388 KiB |
| case46 | AC | 129 ms | 12560 KiB |
| case47 | AC | 15 ms | 4224 KiB |
| case48 | AC | 111 ms | 10900 KiB |
| case49 | AC | 196 ms | 16928 KiB |
| sample00 | AC | 8 ms | 3480 KiB |
| sample01 | AC | 2 ms | 3496 KiB |
| sample02 | AC | 2 ms | 3420 KiB |