Submission #1135763

#TimeUsernameProblemLanguageResultExecution timeMemory
1135763Ak_16Gondola (IOI14_gondola)C++20
Compilation error
0 ms0 KiB
#include <iostream>
#include <algorithm>
#include "gondola.h"
using namespace std;
#define int long long



int b[300005];
int cnt[300005];
int cha[300005];

bool cmp(int x, int y){
  return b[x]<b[y];
}

signed valid(int n, int a[]){
  int cn=0;
  
  int bruh=0;
  int sp=0;
  for(int i=0; i<n; i++){
    cnt[a[i]]++; if(cnt[a[i]]>1){bruh=1;}
    if(a[i]<=n){cn++; sp = i;}
    
    
    }
  if(bruh==1){return 0;}
  
  if(cn>0){
   for(int i=0; i<n; i++){
      b[(2*n+a[sp]-sp+i-1)%n] = a[i];
    }
  }
  else {
    for(int i=0; i<n; i++){b[i] = a[i];}
  }
  
  
  if(cn==0){return 1;}
  
  else {
    
    
    
    int bru=0;
    
    for(int i=0; i<n; i++){
      if(b[i]<=n&&b[i]!=i+1){bru=1;}
    }
    
    return (1-bru);
  }
}

signed replacement(int n, int a[], int c[]){
  int k = valid(n, a);
  if(k==0){return 0;}
  else {
    int don=0;
    int val=0;
    
    for(int i=0; i<n; i++){
      if(b[i]!=i+1){val++; cha[val] = i;}
    }
    
    sort(cha+1, cha+val+1, cmp);
    int ok = n;
    
    for(int i=1; i<=val; i++){
      don++;
      c[don-1] = cha[i]+1;
      for(int j =1; j<= b[cha[i]]-ok-1; j++){
        don++;
        c[don-1] = ok+j;
      }
      ok = b[cha[i]];
    }
    
    return don;
    
  }
}


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

Compilation message (stderr)

/usr/bin/ld: /tmp/ccD4AOTJ.o: in function `main':
grader.cpp:(.text.startup+0xae): undefined reference to `valid'
/usr/bin/ld: grader.cpp:(.text.startup+0x108): undefined reference to `countReplacement'
/usr/bin/ld: grader.cpp:(.text.startup+0x135): undefined reference to `replacement'
collect2: error: ld returned 1 exit status