Submission #462460

#TimeUsernameProblemLanguageResultExecution timeMemory
462460dxz05Seats (IOI18_seats)C++14
11 / 100
4066 ms39728 KiB
#include "seats.h"
#include <bits/stdc++.h>

using namespace std;

int H, W;
vector<int> row, col;

void give_initial_chart(int _H, int _W, vector<int> _R, vector<int> _C) {
    H = _H;
    W = _W;
    row = _R;
    col = _C;
}

int mnh, mxh, mnw, mxw;

void add(int i){
    mnh = min(mnh, row[i]);
    mxh = max(mxh, row[i]);
    mnw = min(mnw, col[i]);
    mxw = max(mxw, col[i]);
}

int swap_seats(int a, int b) {
    swap(row[a], row[b]);
    swap(col[a], col[b]);

    mnh = H - 1, mxh = 0, mnw = W - 1, mxw = 0;

    int ans = 0;
    for (int i = 0; i < H * W; i++){
        add(i);
        if ((mxh - mnh + 1) * (mxw - mnw + 1) == i + 1) ans++;
    }

    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...