Submission #291654

#TimeUsernameProblemLanguageResultExecution timeMemory
291654SamAndSeats (IOI18_seats)C++17
11 / 100
4069 ms33400 KiB
#include "seats.h"
#include <bits/stdc++.h>
using namespace std;
#define m_p make_piar
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
#define sz(x) ((int)(x).size())
typedef long long ll;
const int N = 1000006;

int n, m;
int x[N], y[N];

void give_initial_chart(int H, int W, std::vector<int> R, std::vector<int> C)
{
    n = H;
    m = W;
    for (int i = 0; i < n * m; ++i)
    {
        x[i] = R[i];
        y[i] = C[i];
    }
}

int swap_seats(int a, int b)
{
    swap(x[a], x[b]);
    swap(y[a], y[b]);
    int minx = x[0];
    int maxx = x[0];
    int miny = y[0];
    int maxy = y[0];
    int ans = 0;
    for (int i = 0; i < n * m; ++i)
    {
        minx = min(minx, x[i]);
        maxx = max(maxx, x[i]);
        miny = min(miny, y[i]);
        maxy = max(maxy, y[i]);
        if ((maxx - minx + 1) * (maxy - miny + 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...