Submission #99642

#TimeUsernameProblemLanguageResultExecution timeMemory
99642Retro3014Gondola (IOI14_gondola)C++17
20 / 100
72 ms5244 KiB
#include "gondola.h"
#include <bits/stdc++.h>

using namespace std;

set<int> st;

int valid(int n, int inputSeq[]){
	int s = -1;
	for(int i=0; i<n; i++){
		if(st.find(inputSeq[i])!=st.end())	return false;
		st.insert(inputSeq[i]);
	}
	for(int i=0; i<n; i++){
		if(inputSeq[i]<=n){
			s = i; break;
		}
	}
	if(s==-1)	return 1;
	int idx = s, now = inputSeq[idx];
	bool tf = true;
	while(1){
		if(inputSeq[idx]<=n && inputSeq[idx]!=now){
			tf = false;
			break;
		}
		if(idx==(s+n-2)%n+1)	break;
		now = now%n+1; idx = idx%n+1;
	}
	if(tf)	return 1;
	tf = true;
	idx = s; now = inputSeq[idx];
	while(1){
		if(inputSeq[idx]<=n &&inputSeq[idx]!=now){
			tf = false;
			break;
		}
		if(idx==s%n+1)	break;
		idx = (idx+n-2)%n+1; now = (now+n-2)%n+1;
	}
	if(tf)	return 1;
	return 0;
}

//----------------------

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
  return -2;
}

//----------------------

int countReplacement(int n, int inputSeq[])
{
  return -3;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...