Submission #1014780

#TimeUsernameProblemLanguageResultExecution timeMemory
1014780MalixSeats (IOI18_seats)C++14
0 / 100
3138 ms43816 KiB
#include "seats.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vii; typedef pair<int,int> pi; typedef vector<pi> pii; typedef tuple<int,int,int> tii; #define REP(i,a,b) for(int i=a;i<b;i++) #define F first #define S second #define PB push_back #define MP make_pair #define LSOne(s) ((s)&(-s)) ll INF=1e18+10; int inf=1e9+10; ll M=1e9+7; pii arr; int n,m; vi p; int ans; void give_initial_chart(int H, int W, std::vector<int> R, std::vector<int> C) { REP(i,0,H*W)arr.PB({R[i],C[i]}); n=H;m=W; p.resize(n*m+1,0); ans=1; p[0]=1; int x1=arr[0].F,x2=arr[0].F,y1=arr[0].S,y2=arr[0].S; REP(i,1,n*m){ x1=min(x1,arr[i].F); x2=max(x2,arr[i].F); y1=min(y1,arr[i].S); y2=max(y2,arr[i].S); if(i+1==(y2-y1+1)*(x2-x1+1)){ ans++; p[i]=1; } } } int swap_seats(int a, int b) { swap(arr[a],arr[b]); int x1=arr[0].F,x2=arr[0].F,y1=arr[0].S,y2=arr[0].S; REP(i,min(a,b),max(a,b)){ x1=min(x1,arr[i].F); x2=max(x2,arr[i].F); y1=min(y1,arr[i].S); y2=max(y2,arr[i].S); if(i+1==(y2-y1+1)*(x2-x1+1)){ if(p[i]==1)continue; else p[i]=1; ans++; } else{ if(p[i]==0)continue; p[i]=0; 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...