#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <iomanip> #include <cstdio> #include <string> #include <cmath> #include <algorithm> #include <vector> #include <queue> #include <cstring> #include <set> #include <map> #include <ctime> #include <unordered_map> #include <stack> using namespace std; #define inf 2147483647 #define eps 0.0000000000001 #define pi 3.1415926535897932 #define mod 1000000007 #define LL long long #define ULL unsigned long long #define LD long double #define ULD unsigned long double const LL N = 100005; // printf("Case #%d: ", ++T); // srand(time(NULL)); // cout<<fixed<<setprecision(3)<<"\nExecution time="<<clock()/1000.0<<endl; // freopen("input.txt","r",stdin); // freopen("output.txt","w",stdout); int n, m, i, j, k, q, s, w, v, ans; int a[5*N]; int main() { ans = 1000000000; int x = ans, y = ans; bool issorted = 1; int first=-1, last=-1,fk=-1,lk=-1; cin >> n; for (int i = 1; i <= n; i++) { scanf("%d", &a[i]); if (a[i] != i && a[i] - i > fk) { fk = a[i] - i; first = i; } if (a[i] != i && i - a[i] > lk) { lk = i - a[i]; last = i; } if (a[i] != i) issorted = 0; } if (issorted == 1) { cout << "Cool Array" << endl; return 0; } cout << first << " " << last << endl; return 0; for (int i = 1; i <= n; i++) { for (j = i + 1; j <= n; j++) { if ((double)clock()/CLOCKS_PER_SEC >0.8) { cout << first << " " << last << endl; return 0; } swap(a[i], a[j]); q = 0; for (int ii = 1; ii <= n; ii++) for (int jj = ii + 1; jj <= n; jj++) if (a[ii] > a[jj]) q++; if (q < ans || (q == ans && (i < x || (i == x && j < y)))) { ans = q; x = i; y = j; } swap(a[i], a[j]); if (q == 0) break; } } cout << x << " " << y << endl; return 0; }