Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<vector>using namespace std;int main() {int n;cin>>n;vector<int>v(n+1,0);for(int i=1;i<n+1;i++){int a;cin>>a;v[i]=a;}vector<int>times(n+1,1);for(int i=1;i<n+1;i++){int tt=v[i];while(tt!=i){times[i]++;tt=v[tt];}}long long mm=times[1];for(int i=2;i<times.size();i++){long long b=times[i];long long c=mm%b;while(c!=0){long long bb=c;c=b%c;b=bb;}mm=mm*times[i]/b;