#include<iostream>
#include<vector>
#include<algorithm>
#include "gondola.h"
using namespace std;
int valid(int N, int seq[]) {
int flag = 1;
for(int i=1; i<N; i++) {
if(seq[i] != (seq[i-1])%N +1) {
flag = 0;
break;
}
}
return flag;
}
// int valid(int N, int seq[]) {
// int flag = 1;
// int diff;
// for(int i=0; i<N; i++) {
// if(seq[i] <= N) {
// diff = seq[i] - i; // val = index + diff
// break;
// }
// }
// for(int i=0; i<N; i++) {
// if(seq[i]>N) continue;
// if(seq[i] != (i + diff + N-1) % N + 1) {
// flag = 0;
// break;
// }
// }
// return flag;
// }
int replacement(int n, int seq[], int replacementSeq[]) {
int res = 0;
// for(int i=0; i<n; i++) {
// if(seq[i]>n) res++;
// }
vector<int> temp(n);
for(int i=0; i<n; i++) temp[i] = seq[i];
sort(temp.begin(), temp.end());
int ptr = 0, now = 1;
//for(int x: temp) cout<<x<<' '; cout<<'\n';
for(int x: temp) {
//cout<<"x = "<<x<<"now = "<<now<<'\n';
if(now == x) {now++; continue;}
while(now<x) {
//cout<<x<<' '<<ptr<<' '<<now<<'\n';
replacementSeq[ptr] = now;
res++;
now++; ptr++;
}
now++;
}
//for(int i=0; i<n; i++) cout<<replacementSeq[i]<<' ';
return res;
}
int countReplacement(int n, int inputSeq[]) {
return -1;
}
// int main() {
// int seq[3] = {3,1,4};
// int rep[10];
// cout<<replacement(3, seq, rep);
// }