Submission #1169588

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11695882025-03-19 02:29:10lightonGame (APIO22_game)C++20
60 / 100
4085 ms112912 KiB
#include "game.h"
#include <bits/stdc++.h>
#define forf(i,a,b) for(int i = a; i<=b; i++)
#define forb(i,b,a) for(int i = b; i>=a; i--)
using namespace std;
int N,K;
int S[1000001][31];
vector<pair<int,int> > adj[1000001],radj[1000001];
void dnc(int dep, int s, int e){
if(s>e) return;
int m = s+e>>1;
forf(i,2*s,2*m) S[i][dep] = 1;
forf(i,2*m+1,2*e+1) S[i][dep] = 2;
dnc(dep+1,s,m-1), dnc(dep+1,m+1,e);
}
int f = 0;
void upd(int now){
for(auto &[i,p] : adj[now]){
while(p<30 && S[i][p] == S[now][p] && S[i][p] != 0) p++;
if((S[now][p]&2) && (S[i][p]&1)) f = 1;
if(S[i][p] == 1 && S[now][p] == 0){
while(p<20 && S[i][p] == 1) S[now][p] = 1, p++;
upd(now); return;
}
}
for(auto &[i,p] : radj[now]){
while(p<30 && S[i][p] == S[now][p] && S[i][p] != 0) p++;
if((S[now][p]&1) && (S[i][p]&2)) f = 1;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...