Submission #746129

#TimeUsernameProblemLanguageResultExecution timeMemory
746129Username4132Gondola (IOI14_gondola)C++14
20 / 100
13 ms1236 KiB
#include "gondola.h"
#include<algorithm>
using namespace std;
#define forn(i, n) for(int i=0; i<(int)n; ++i)

const int MAXN=250010;
bool seen[MAXN];

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

  forn(i, n){
    if(seen[inputSeq[i]]) return 0;
    seen[inputSeq[i]]=true;
  }

  auto itr=min_element(inputSeq, inputSeq+n);
  if(*itr>=n) return 1;
  auto tmp=itr, last=itr;
  while(true){
    if(*tmp<=n){
      int d1=*tmp-*last, d2=tmp-last;
      if(d2<0) d2+=n;
      if(d1!=d2) return 0;
      last=tmp;
    }
    tmp++;
    if(tmp==inputSeq+n) tmp=inputSeq;
    if(tmp==itr) break;
  }
  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...