Submission #16884407
Source Code Expand
// {{{ Boilerplate Code <--------------------------------------------------
// vim:filetype=cpp:foldmethod=marker:foldmarker={{{,}}}
#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <deque>
#include <functional>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <utility>
#include <vector>
#define FOR(I,A,B) for(int I = (A); I < (B); ++I)
#define ALL(A) (A).begin(), (A).end()
using namespace std;
// }}}
int main(){
long long N,Q;
cin>>N>>Q;
int sqn=sqrt(N);
long long rev=0;
int len[2][200000];
int lensq[2][1000];
FOR(i,0,N){
len[0][i]=N-2;
len[1][i]=N-2;
}
FOR(i,0,N){
lensq[0][i]=N-2;
lensq[1][i]=N-2;
}
FOR(i,0,Q){
int dir,x;
cin>>dir>>x;
--dir;
int opdir=1-dir;
int sqx=x/sqn;
int now=min(len[dir][x],lensq[dir][sqx]);
rev+=now;
now+=2;
FOR(j,0,now/sqn){
lensq[opdir][j]=min(lensq[opdir][j],x-2);
}
FOR(j,(now/sqn)*sqn,now){
len[opdir][j]=min(len[opdir][j],x-2);
}
}
cout<<(N-2)*(N-2)-rev<<endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Simplified Reversi |
| User | nhirokinet |
| Language | C++ (GCC 9.2.1) |
| Score | 600 |
| Code Size | 1598 Byte |
| Status | AC |
| Exec Time | 152 ms |
| Memory | 5104 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | hand_01.txt, hand_02.txt, hand_03.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| hand_01.txt | AC | 6 ms | 3556 KiB |
| hand_02.txt | AC | 2 ms | 3552 KiB |
| hand_03.txt | AC | 2 ms | 3612 KiB |
| random_01.txt | AC | 124 ms | 4988 KiB |
| random_02.txt | AC | 34 ms | 4836 KiB |
| random_03.txt | AC | 152 ms | 4988 KiB |
| random_04.txt | AC | 74 ms | 4452 KiB |
| random_05.txt | AC | 139 ms | 4984 KiB |
| random_06.txt | AC | 101 ms | 4180 KiB |
| random_07.txt | AC | 131 ms | 5104 KiB |
| random_08.txt | AC | 25 ms | 4320 KiB |
| random_09.txt | AC | 133 ms | 5056 KiB |
| random_10.txt | AC | 2 ms | 3724 KiB |
| random_11.txt | AC | 87 ms | 5104 KiB |
| random_12.txt | AC | 94 ms | 4532 KiB |
| random_13.txt | AC | 119 ms | 4244 KiB |
| random_14.txt | AC | 115 ms | 4216 KiB |
| random_15.txt | AC | 113 ms | 4336 KiB |
| sample_01.txt | AC | 3 ms | 3492 KiB |
| sample_02.txt | AC | 8 ms | 4972 KiB |
| sample_03.txt | AC | 5 ms | 4872 KiB |