#include<iostream>
#include<vector>
#include<algorithm>
#include "gondola.h"
#include<set>
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);
set<int> st;
int mx = 0, ptr = 0;
for(int i=0; i<n; i++){st.insert(seq[i]); mx = max(mx, seq[i]);}
for(int i=1; i<=mx; i++) {
if(st.find(i) == st.end()) {replacementSeq[ptr++] = i; res++;}
}
//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);
// }