Submission #1325904

#TimeUsernameProblemLanguageResultExecution timeMemory
1325904crispxxGondola (IOI14_gondola)C++20
25 / 100
31 ms4736 KiB
#include "gondola.h"

#include <bits/stdc++.h>

using namespace std;

using ll = long long;

int valid(int n, int s[]) {
	set<int> st(s, s + n);
	
	if( (int)st.size() != n ) return false;
	
	st.clear();
	
	for(int i = 0; i < n; i++) {
		s[i]--;
		
		if(s[i] < n) {
			st.emplace((i - s[i] + n) % n);
		}
	}
	
	return (int)st.size() <= 1;
}

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

int replacement(int n, int s[], int r[]) {
	int mx = 0;
	
	for(int i = 0; i < n; i++) {
		mx = max(mx, s[i]);
	}
	
	set<int> st;
	
	for(int i = 1; i <= mx; i++) {
		st.emplace(i);
	}
	
	for(int i = 0; i < n; i++) {
		st.erase(s[i]);
	}
	
	int l = 0;
	
	for(auto &x : st) {
		r[l++] = x;
	}
	
	return l;
}

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

int countReplacement(int n, int s[]) {
	return -2;
}
#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...