Submission #22868795
Source Code Expand
#include <bits/stdc++.h>
#define sz(c) int(c.size())
#define rep(i, a, b) for (int i = a; i < (b); ++i)
#define per(i, a, b) for (int i = (b)-1; i >= (a); --i)
using namespace std;
using ll = long long;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
template <typename T>
using ordered_set =
tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
#ifdef LOCAL
#include <local/debug.h>
#else
#define debug(...) (void)0
#endif
int main() {
cin.tie(nullptr);
ios_base::sync_with_stdio(false);
int N;
cin >> N;
vector<int> A(N);
rep(i, 0, N) cin >> A[i];
vector<int> B(N);
rep(i, 0, N) cin >> B[i];
set<pair<int, int>> s;
ordered_set<int> ord;
rep(i, 0, N) {
s.insert({A[i] + i, i + 1});
ord.insert(i + 1);
}
ll res = 0;
rep(i, 0, N) {
int val = B[i] + i;
auto it = s.lower_bound({val, 0});
if (it == s.end() || it->first != val) {
if (it != s.end())
assert(it->first > val);
res = -1;
break;
}
int pos = it->second;
ll order = ord.order_of_key(pos);
res += order;
debug(val, pos, order);
s.erase(it);
ord.erase(pos);
}
cout << res << '\n';
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Swaps 2 |
| User | ami |
| Language | C++ (GCC 9.2.1) |
| Score | 500 |
| Code Size | 1297 Byte |
| Status | AC |
| Exec Time | 380 ms |
| Memory | 23532 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| All | handmade_00.txt, handmade_01.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_slightly_no_00.txt, random_slightly_no_01.txt, random_slightly_no_02.txt, random_slightly_no_03.txt, random_slightly_no_04.txt, random_slightly_no_05.txt, random_slightly_no_06.txt, random_slightly_no_07.txt, random_yes_00.txt, random_yes_01.txt, random_yes_02.txt, random_yes_03.txt, random_yes_04.txt, random_yes_05.txt, random_yes_duplicates_00.txt, random_yes_duplicates_01.txt, random_yes_duplicates_02.txt, random_yes_duplicates_03.txt, random_yes_duplicates_04.txt, random_yes_duplicates_05.txt, random_yes_duplicates_06.txt, random_yes_duplicates_07.txt, random_yes_duplicates_08.txt, random_yes_duplicates_09.txt, random_yes_duplicates_10.txt, random_yes_duplicates_11.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, special_00.txt, special_01.txt, special_02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| handmade_00.txt | AC | 8 ms | 3552 KiB |
| handmade_01.txt | AC | 1 ms | 3556 KiB |
| random_00.txt | AC | 211 ms | 23472 KiB |
| random_01.txt | AC | 214 ms | 23384 KiB |
| random_02.txt | AC | 213 ms | 23388 KiB |
| random_03.txt | AC | 204 ms | 22912 KiB |
| random_04.txt | AC | 48 ms | 8200 KiB |
| random_05.txt | AC | 78 ms | 11352 KiB |
| random_slightly_no_00.txt | AC | 345 ms | 23392 KiB |
| random_slightly_no_01.txt | AC | 376 ms | 23360 KiB |
| random_slightly_no_02.txt | AC | 255 ms | 23468 KiB |
| random_slightly_no_03.txt | AC | 375 ms | 23388 KiB |
| random_slightly_no_04.txt | AC | 235 ms | 22432 KiB |
| random_slightly_no_05.txt | AC | 168 ms | 13192 KiB |
| random_slightly_no_06.txt | AC | 134 ms | 16496 KiB |
| random_slightly_no_07.txt | AC | 347 ms | 22072 KiB |
| random_yes_00.txt | AC | 377 ms | 23532 KiB |
| random_yes_01.txt | AC | 377 ms | 23324 KiB |
| random_yes_02.txt | AC | 380 ms | 23484 KiB |
| random_yes_03.txt | AC | 214 ms | 15464 KiB |
| random_yes_04.txt | AC | 281 ms | 18632 KiB |
| random_yes_05.txt | AC | 20 ms | 4464 KiB |
| random_yes_duplicates_00.txt | AC | 203 ms | 23532 KiB |
| random_yes_duplicates_01.txt | AC | 215 ms | 23432 KiB |
| random_yes_duplicates_02.txt | AC | 236 ms | 23436 KiB |
| random_yes_duplicates_03.txt | AC | 275 ms | 23444 KiB |
| random_yes_duplicates_04.txt | AC | 363 ms | 23472 KiB |
| random_yes_duplicates_05.txt | AC | 369 ms | 23500 KiB |
| random_yes_duplicates_06.txt | AC | 164 ms | 19696 KiB |
| random_yes_duplicates_07.txt | AC | 208 ms | 23172 KiB |
| random_yes_duplicates_08.txt | AC | 109 ms | 12496 KiB |
| random_yes_duplicates_09.txt | AC | 188 ms | 17152 KiB |
| random_yes_duplicates_10.txt | AC | 36 ms | 5520 KiB |
| random_yes_duplicates_11.txt | AC | 105 ms | 9900 KiB |
| sample_01.txt | AC | 2 ms | 3504 KiB |
| sample_02.txt | AC | 2 ms | 3588 KiB |
| sample_03.txt | AC | 2 ms | 3532 KiB |
| sample_04.txt | AC | 2 ms | 3572 KiB |
| special_00.txt | AC | 294 ms | 23492 KiB |
| special_01.txt | AC | 199 ms | 23384 KiB |
| special_02.txt | AC | 215 ms | 23444 KiB |