Submission #8356104


Source Code Expand

Copy
#include <algorithm>
#include <array>
#include <assert.h>
#include <chrono>
#include <bitset>
#include <deque>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <map>
#include <math.h>
#include <numeric>
#include <random>
#include <queue>
#include <set>
#include <stack>
#include <unordered_map>
#include <unordered_set>
#include <vector>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<double> vd;
typedef vector<bool> vb;
typedef vector<string> vs;
typedef vector<ld> vld;
typedef vector<vector<int>> vvi;
typedef vector<ll> vl;
typedef vector<vector<ll>> vvl;
typedef vector<vector<ld>> vvld;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;
typedef vector<pll> vpll;

#ifdef OLBOEB
mt19937 rnd(228 + 1488 + 238 + 24111997 % 322);
#else
mt19937 rnd(chrono::high_resolution_clock::now().time_since_epoch().count());
#endif

void print_time() {
#ifdef OLBOEB
    cout.flush();
    cerr << "\ntime: " << clock() * 1.0 / CLOCKS_PER_SEC << endl;
#endif
}

#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define sz(x) ((ll)(x).size())
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()

template<class T1, class T2>
ostream& operator<< (ostream &out, pair<T1, T2> pair) { return out << "(" << pair.first << ", " << pair.second << ")";}
template<class T> ostream& operator<<(ostream& out, vector<T> vec) { out<<"("; for (auto& v: vec) out<<v<<", "; return out<<")"; }
template<class T> ostream& operator<<(ostream& out, set<T> vec) { out<<"("; for (auto& v: vec) out<<v<<", "; return out<<")"; }
template<class L, class R> ostream& operator<<(ostream& out, map<L, R> vec) { out<<"("; for (auto& v: vec) out<<v<<", "; return out<<")"; }


void no() { cout << "No" << endl; exit(0); }
void yes() { cout << "Yes" << endl; exit(0); }

int main() {
    cout << fixed << setprecision(20);
    ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);

    ll n;
    cin >> n;
    vvl x(n, vl(2));
    for (ll i = 0; i < 2; ++i) {
        for (ll j = 0; j < n; ++j) {
            cin >> x[j][1 - i];
        }
    }
    sort(all(x));
    vl a(n);
    vl b(n);
    for (ll i = 0; i < n; ++i) {
        a[i] = x[i][1];
        b[i] = x[i][0];
    }

    vl sa = a;
    sort(all(sa));
    for (ll i = 0; i < n; ++i) {
        if (sa[i] > b[i]) no();
    }

    for (ll i = 0; i < n; ++i) {
        if (sa[i] == a[i]) yes();
    }

    set<ll> bs;
    for (ll i = 0; i < n; ++i) {
        if (bs.count(b[i])) yes();
        bs.insert(b[i]);
    }

    set<ll> as;
    for (ll i = 0; i < n; ++i) {
        if (as.count(a[i])) yes();
        as.insert(a[i]);
    }

    map<ll, ll> a2i;
    for (ll i = 0; i < n; ++i) {
        a2i[sa[i]] = i;
    }

    vl p(n);
    for (ll i = 0; i < n; ++i) {
        p[i] = a2i[a[i]];
    }

    ll cnt = 0;
    ll index = 0;
    for (ll i = 0; i < n - 1; ++i) {
        index = p[index];
        if (index == 0) yes();
    }


    for (ll i = 0; i + 1 < n; ++i) {
        swap(sa[i], sa[i + 1]);
        if (sa[i] <= b[i] && sa[i + 1] <= b[i + 1]) yes();
        swap(sa[i], sa[i + 1]);
    }

    no();


    print_time();
    return 0;
}

Submission Info

Submission Time
Task C - Swaps
User VadymKa
Language C++14 (GCC 5.4.1)
Score 600
Code Size 3366 Byte
Status AC
Exec Time 190 ms
Memory 24448 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 3
AC × 39
Set Name Test Cases
Sample sample01.txt, sample02.txt, sample03.txt
All sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, sample01.txt, sample02.txt, sample03.txt
Case Name Status Exec Time Memory
in01.txt AC 182 ms 23168 KB
in02.txt AC 172 ms 22400 KB
in03.txt AC 170 ms 22144 KB
in04.txt AC 184 ms 23552 KB
in05.txt AC 189 ms 23808 KB
in06.txt AC 163 ms 23424 KB
in07.txt AC 170 ms 24448 KB
in08.txt AC 161 ms 23680 KB
in09.txt AC 158 ms 23168 KB
in10.txt AC 157 ms 23424 KB
in11.txt AC 45 ms 7296 KB
in12.txt AC 168 ms 22144 KB
in13.txt AC 172 ms 22272 KB
in14.txt AC 46 ms 7808 KB
in15.txt AC 42 ms 7296 KB
in16.txt AC 181 ms 22784 KB
in17.txt AC 173 ms 22528 KB
in18.txt AC 183 ms 23680 KB
in19.txt AC 175 ms 22656 KB
in20.txt AC 190 ms 24064 KB
in21.txt AC 165 ms 23808 KB
in22.txt AC 164 ms 23936 KB
in23.txt AC 161 ms 23552 KB
in24.txt AC 147 ms 22144 KB
in25.txt AC 152 ms 23056 KB
in26.txt AC 38 ms 6784 KB
in27.txt AC 41 ms 7296 KB
in28.txt AC 51 ms 9984 KB
in29.txt AC 2 ms 640 KB
in30.txt AC 3 ms 640 KB
in31.txt AC 90 ms 13568 KB
in32.txt AC 36 ms 7936 KB
in33.txt AC 55 ms 10752 KB
sample01.txt AC 1 ms 256 KB
sample02.txt AC 1 ms 256 KB
sample03.txt AC 1 ms 256 KB