Submission #584754

#TimeUsernameProblemLanguageResultExecution timeMemory
584754jack715Gondola (IOI14_gondola)C++14
10 / 100
12 ms1876 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;
  for (int i = 0; i < n; i++) {
    if (nums[i] <= n && nums[i] != now) return 0;
    now++; 
  }
  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...