Submission #287784

#TimeUsernameProblemLanguageResultExecution timeMemory
287784shrek12357Gondola (IOI14_gondola)C++14
0 / 100
1 ms384 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <map>
#include <set>
#include <climits>
#include <cmath>
#include <fstream>
#include <queue>
#include "gondola.h"
using namespace std;

int valid(int n, int inputSeq[]) {
	set<int> found;
	for (int i = 0; i < n; i++) {
		found.insert(inputSeq[i]);
	}
	if (found.size() != n) {
		return 0;
	}
	int idx = -1;
	int val = 0;
	for (int i = 0; i < n; i++) {
		if (inputSeq[i] <= n) {
			idx = i;
			val = inputSeq[i];
			break;
		}
	}
	int actual[100005];
	actual[idx] = val;
	for (int i = 1; i < n; i++) {
		int cur = (idx + i + n) % n;
		int pre = (idx + i - 1 + n) % n;
		actual[cur] = actual[pre] + 1;
	}
	for (int i = 0; i < n; i++) {
		if (inputSeq[i] <= n && inputSeq[i] != actual[i]) {
			return 0;
		}
	}
	return 1;
}

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

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

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:19:19: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   19 |  if (found.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...