Submission #1163912

#TimeUsernameProblemLanguageResultExecution timeMemory
1163912an22inkleGondola (IOI14_gondola)C++20
20 / 100
32 ms4712 KiB
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;

int valid(int n, int v[]) {

	map<int, bool> freq;
	int mi = -1;
	for (int i = 0; i < n; i++) {
		if (freq[v[i]]) return 0;

		freq[v[i]] = 1;
		if (v[i] <= n && (mi == -1 || v[i] < v[mi])) {
			mi = i;
		}
	}



	if (mi == -1) {
		return 1;
	}

	int prevj = mi;
	for (int j = mi + 1; j <= (n + mi - 1); j++) {
		int i = j % n;
		if (v[i] > n) continue;
		// cout << prevj << ' ' << j << '\n';
		// cout <<  v[prevj % n] << ' ' << (v[i]) << '\n';
		// cout <<  abs(j - prevj) << ' ' << abs(v[i] - v[prevj  % n]) << '\n';
		// cout << '\n';
		if (v[i] < v[prevj % n] or abs(j - prevj) != abs(v[i] - v[prevj % n])) return 0;
		prevj = j;
	}

	return 1;

}

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

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...