Submission #973814

#TimeUsernameProblemLanguageResultExecution timeMemory
973814Batorgil952Game (APIO22_game)C++17
60 / 100
986 ms5724 KiB
#include<bits/stdc++.h>
using namespace std;

const int N=3e4+4;
vector< int > V[N], U[N];
int KK, NN;
int mi[N], ma[N];

void init(int n, int k) {
	KK=k;
	NN=n;
	for(int i=0; i<k; i++){
		mi[i]=ma[i]=i;
	}
	for(int i=k; i<n; i++){
		mi[i]=n+1;
		ma[i]=-1;
	}
}

void DFSma(int p, int ima){
	for(int i=0; i<V[p].size(); i++){
		if(ima>ma[V[p][i]]){
			ma[V[p][i]]=ima;
			DFSma(V[p][i], ima);
		}
	}
}

void DFSmi(int p, int imi){
	for(int i=0; i<U[p].size(); i++){
		if(imi<mi[U[p][i]]){
			mi[U[p][i]]=imi;
			DFSmi(U[p][i], imi);
		}
	}
}

int add_teleporter(int u, int v) {
	if(u==v){
		if(u<KK) return 1;
		return 0;
	}
	if(ma[u]>=mi[v] && ma[u]!=-1 && mi[v]!=NN+1){
		return 1;
	}
	if(ma[u]!=-1){
		if(ma[u]>ma[v]){
			ma[v]=ma[u];
			DFSma(v, ma[u]);
		}
	}
	if(mi[v]!=NN+1){
		if(mi[v]<mi[u]){
			mi[u]=mi[v];
			DFSmi(u, mi[v]);
		}
	}
	V[u].push_back(v);
	U[v].push_back(u);
	return 0;
}

Compilation message (stderr)

game.cpp: In function 'void DFSma(int, int)':
game.cpp:22:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |  for(int i=0; i<V[p].size(); i++){
      |               ~^~~~~~~~~~~~
game.cpp: In function 'void DFSmi(int, int)':
game.cpp:31:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |  for(int i=0; i<U[p].size(); i++){
      |               ~^~~~~~~~~~~~
#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...