Submission #523459

#TimeUsernameProblemLanguageResultExecution timeMemory
523459Farhan_HYCat (info1cup19_cat)C++14
0 / 100
74 ms560 KiB
#include <bits/stdc++.h> #define int long long #define float double #define pb push_back #define F first #define S second #define T int t; cin >> t; while(t--) #define IOS ios::sync_with_stdio(); cin.tie(0); cout.tie(0); using namespace std; const int inf = 8e18; const int N = 1e6 + 6; const int M = 1e3 + 3; const int mod = 1e9 + 7; const float pi = atan(1) * 4; int a[N]; int n, m; map<int, int> Pos; vector<pair<int, int>> v; main() { T { v.clear(); Pos.clear(); cin >> n; for(int i = 1; i <= n ; i++) cin >> a[i], Pos[a[i]] = i; if (a[1] == n || a[n] == 1) { cout << "-1\n"; continue; } for(int i = 1; i <= n; i++) { if (a[i] == i) continue; int p = Pos[i]; swap(Pos[a[i]], Pos[a[p]]); swap(a[i], a[p]); v.pb({i, p}); swap(Pos[a[n - p + 1]], Pos[a[n - p + 1]]); swap(a[n - i + 1], a[n - p + 1]); } cout << v.size() / 2 << ' ' << v.size() << '\n'; for(auto x: v) cout << x.F << ' ' << x.S << '\n'; } }

Compilation message (stderr)

cat.cpp:22:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   22 | main()
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...