Submission #625113

#TimeUsernameProblemLanguageResultExecution timeMemory
625113alexander707070Seats (IOI18_seats)C++14
0 / 100
4088 ms23732 KiB
#include<bits/stdc++.h>
#define MAXN 1000007
using namespace std;

int n,m;
pair<int,int> pos[MAXN];

int check(){
    int minx=n+1,maxx=0,miny=m+1,maxy=0,res=0;
    for(int i=0;i<n*m;i++){
        minx=min(minx,pos[i].first);
        maxx=max(maxx,pos[i].first);
        miny=min(miny,pos[i].second);
        maxy=max(maxy,pos[i].second);
        if((maxx-minx)*(maxy-miny)==i+1)res++;
    }
    return res;
}

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

int swap_seats(int a, int b){
    swap(pos[a],pos[b]);
    return check();
}
#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...