Newer
Older
//
// Created by Kai Renz on 02.11.23.
//
int fl(int* i,int l) {
for (int k=0;k<l;k++) {
if (i[k]<0||i[k]>=l) {
i[k]=-1;
} else {
if (i[k]!=k) {
int v=i[k];
if (i[k]!=k) {
i[k]=-1;
}
while (v>=0&&v<l&&i[v]!=v) {
int t=i[v];
i[v]=v;
v=t;
}
}
}
}
int m=0;
for (;m<l&&i[m]!=-1;m++) {}
return m;
}