Submission #789390

#TimeUsernameProblemLanguageResultExecution timeMemory
789390Sohsoh84곤돌라 (IOI14_gondola)C++17
20 / 100
32 ms9144 KiB
#include "gondola.h"
#include <bits/stdc++.h>

using namespace std;

#define sep		' '
#define debug(x)	cerr << #x << ": " << x << endl;

const int MAXN = 1e6 + 10;

int A[MAXN];

int valid(int n, int inputSeq[]) {
	int s = -1;
	set<int> tst;

	for (int i = 0; i < n; i++) inputSeq[i]--;
	for (int i = 0; i < n; i++) {
		if (inputSeq[i] < n)
			s = i;
		tst.insert(inputSeq[i]);
	}

	if (int(tst.size()) < n) return 0;
	if (s == -1) return 1;
	
	int shift_val = (s - inputSeq[s] + n) % n;
	for (int j = 0; j < n; j++)
		A[j] = inputSeq[(j + shift_val) % n];

	set<int> st;
	for (int i = 0; i < n; i++) {
		if (A[i] < n)
			if (A[i] != i) return 0;
		else
			A[i] = i;

		st.insert(A[i]);
	}
	return st.size() == n;
}

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

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

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

int countReplacement(int n, int inputSeq[])
{
	return -3;
}

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:33:6: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
   33 |   if (A[i] < n)
      |      ^
gondola.cpp:40:19: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   40 |  return st.size() == n;
      |         ~~~~~~~~~~^~~~
#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...