This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
ll n, ans, p, j, s;
ll l[1002], rn[1002], r[1002];
int main() {
	ll i, t, r;
	cin >> t;
	
	while ( t --) {
		cin >> n;
		ans = 0;
		ll a[n + 2];
		vector < pair < ll, ll > > v;
		for (i = 1; i <= n; i ++) {
			cin >> a[i];
			v.push_back(make_pair(a[i], i));
		}
		sort (v.begin(), v.end());
		for ( i = 0; i < n; i ++) {
			a[v[i].second ] = i + 1;
		}
		cout << endl;
		for ( i = 1; i <= n; i ++) {
			if ( a[i] != (n - i + 1)) {
				for ( j = i; j <= n; j ++) {
					if ( a[j] == n - i + 1) r= j;
				}
				
				if ( r == n) ans ++;
				else ans += 2;
				reverse(a + r , a + n + 1);
				reverse(a + i, a + n + 1);
			}
		}
		cout << ans << endl;
	}
}
Compilation message (stderr)
pancake.cpp: In function 'int main()':
pancake.cpp:33:17: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
   33 |     reverse(a + r , a + n + 1);
      |                 ^| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |