Submission #722595

#TimeUsernameProblemLanguageResultExecution timeMemory
722595Yell0Gondola (IOI14_gondola)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>

using namespace std;
const int MOD=1e9+9;

int valid(int n,int inputSeq[]) {
  int st=-1;
  vector<int> ogIdx(n+2);
  set<int> usedNew;
  for(int i=0;i<n;++i) {
    if(st<0&&inputSeq[i]<=n) {
      st=i;
      ogIdx[inputSeq[i]]=i;
      for(int j=1;j<n;++j) ogIdx[(inputSeq[i]-1+j)%n+1]=j;
    } else if(inputSeq[i]<=n) {
      if(ogIdx[inputSeq[i]]!=i) return 0;
    } else {
      if(usedNew.count(inputSeq[i])) return 0;
      usedNew.insert(inputSeq[i]);
    }
  }
  return 1;
}

int replacement(int n,int gondolaSeq[],int replacementSeq[]) {
  vector<pair<int,int>> news;
  vector<int> og(n);
  for(int i=0;i<n;++i) if(gondolaSeq[i]>n) news.push_back({gondolaSeq[i],i});
  sort(news.begin(),news.end());
  bool f=0;
  for(int i=0;i<n;++i) {
    if(!f&&gondolaSeq[i]<=n) {
      st=i;
      og[i]=gondolaSeq[i];
      for(int j=1;j<n;++j) og[(i+j)%n]=(og[i]-1+j)%n+1;
      break;
    }
  }
  int repi=0,currRep=n;
  for(int i=0;i<news.size();++i) {
    replacementSeq[repi++]=og[news[i].second];
    while(++currRep<news[i].first) replacementSeq[repi++]=currRep;
  }
  return repi;
}

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

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:33:7: error: 'st' was not declared in this scope; did you mean 'std'?
   33 |       st=i;
      |       ^~
      |       std
gondola.cpp:40:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |   for(int i=0;i<news.size();++i) {
      |               ~^~~~~~~~~~~~