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
AC × 4
AC × 41
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