Submission #1354778

#TimeUsernameProblemLanguageResultExecution timeMemory
1354778settopSeats (IOI18_seats)C++20
0 / 100
4093 ms23856 KiB
#include "seats.h"
#include<bits/stdc++.h>

using namespace std;

#define ll long long
#define fall(i,a,b) for(int i=a;i<=b;i++)
#define rfall(i,a,b) for(int i=a;i>=b;i--)
#define all(x) x.begin(),x.end()
#define pb push_back
#define sz(x) (int)x.size()
#define F first
#define S second

typedef pair<int,int> pii;

vector<pii> v;

void give_initial_chart(int H, int W, std::vector<int> R, std::vector<int> C) {
    v.resize(W*H);
    fall(i,0,H*W) v[i]={R[i],C[i]};
    return;
}

int swap_seats(int a, int b) {
    swap(v[a],v[b]);
    vector<int> mx(2),mn(2,sz(v)+1);
    int ans=0;
    fall(i,0,sz(v)-1){
      mx[0]=max(mx[0],v[i].F);
      mx[1]=max(mx[1],v[i].S);
      mn[0]=min(mn[0],v[i].F);
      mn[1]=min(mn[1],v[i].S);
      if((mx[0]-mn[0]+1)*(mx[1]-mn[1]+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...