Submission #785056

#TimeUsernameProblemLanguageResultExecution timeMemory
785056mindiyakGondola (IOI14_gondola)C++14
20 / 100
9 ms1108 KiB
#include "gondola.h"
#include <iostream>
#include <unordered_set>

using namespace std;

int valid(int n, int inputSeq[])
{
  unordered_set <int> broken;
  int alpha = 0;
  for(int i=0;i<n;i++){
    if(inputSeq[i] < n){
      alpha = inputSeq[i]-i;
      break;
    }
  }
  // cout << alpha << endl;
  for(int i=0;i<n;i++){
    if(inputSeq[i] > n){
      if(broken.count(inputSeq[i]) != 0){
        // cout << "broken duplicate" << endl;
        return 0;
      }
      broken.insert(inputSeq[i]);
    }else{
      if(i<=(n-alpha)){
        if(inputSeq[i] != (i+alpha)){
          // cout << i << " " << inputSeq[i] << " " << (i+alpha) << endl;
          return 0;
        }
      }else{
        if(inputSeq[i] != (i-(n-alpha))){
          // cout << i << " " << inputSeq[i] << " " << (i-(n-alpha)) << endl;
          return 0;
        }
      }
    }
  }
  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...