Submission #584755

#TimeUsernameProblemLanguageResultExecution timeMemory
584755jack715Gondola (IOI14_gondola)C++14
20 / 100
10 ms1792 KiB
#include "gondola.h"
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define pp pop_back
#define mp make_pair
#define bb back
#define ff first
#define ss second

using namespace std;

void rotatek(vector<int>& nums, int k) {
  vector<int> cp = nums;
  int n = nums.size(); 
  for (int i = 0; i < n; i++)
    nums[i] = cp[(i+k)%n];
}

int valid(int n, int inputSeq[])
{
  vector<int> nums(n);
  for (int i = 0; i < n; i++) nums[i] = inputSeq[i];
  for (int i = 0; i < n; i++) {
    if (nums[i] <= n) {
      rotatek(nums, (i-nums[i]+1+n)%n);
      break;
    }
  }

  int now = 1;
  vector<int> rem;
  for (int i = 0; i < n; i++) {
    if (nums[i] <= n && nums[i] != now) return 0;
    if (nums[i] > n) rem.pb(nums[i]);
    now++; 
  }
  sort(rem.begin(), rem.end());
  for (int i = 1; i < rem.size(); i++) {
    if (rem[i] != rem[i-1]+1) return 0;
  }
  return 1;
}

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

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:39:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |   for (int i = 1; i < rem.size(); i++) {
      |                   ~~^~~~~~~~~~~~
#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...