Submission #738170

#TimeUsernameProblemLanguageResultExecution timeMemory
738170danikoynovSeats (IOI18_seats)C++14
11 / 100
4038 ms40796 KiB
#include "seats.h"
#include<bits/stdc++.h>
using namespace std;

const int maxn = 1e6 + 10;

struct seat
{
    int r, c;
};

seat s[maxn];
int h, w;
void give_initial_chart(int H, int W, vector<int> R, vector<int> C)
{
    h = H;
    w = W;
    for (int i = 0; i < h * w; i ++)
    {
        s[i].r = R[i];
        s[i].c = C[i];
    }
}

int swap_seats(int a, int b)
{
    swap(s[a], s[b]);
    int ans = 1;
    int min_row = s[0].r, max_row = s[0].r;
    int min_col = s[0].c, max_col = s[0].c;
    for (int i = 1; i < h * w; i ++)
    {
        min_row = min(min_row, s[i].r);
        max_row = max(max_row, s[i].r);
        min_col = min(min_col, s[i].c);
        max_col = max(max_col, s[i].c);

        if ((max_row - min_row + 1) * (max_col - min_col + 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...