|
|
вернуться в форумTLE. test #11 #include <iostream> #include <memory> using namespace std;
int n; int a[1000], b[1000],c[1000]; int NOK(int a, int b) { int x=a, y=b; while (a!=0 && b!=0) if (a>b) a%=b; else b%=a; return (x*y)/(a+b); } int main() { cin>>n; bool rc=true; for (int i=0; i<n; i++) cin>>a[i]; int p=1; for (int i=0; i<n; i++) { int r=1; b[i]=a[i]; while (b[i]!=i+1) { b[i]=a[b[i]-1]; r++; } c[i]=r; p=NOK(p, c[i]); } cout<<p<<endl; return 0; }
|
|
|