Submission #861288

# Submission time Handle Problem Language Result Execution time Memory
861288 2023-10-15T19:43:40 Z Ahmed57 Cat (info1cup19_cat) C++17
55 / 100
364 ms 15304 KB
#include <bits/stdc++.h>

using namespace std;
vector<pair<int,int>> con;
bool vis[200001];int arr[200001];
int main(){
    ios_base::sync_with_stdio(false);cin.tie(0);
    int t;cin>>t;
    z:while(t--){
        int n;cin>>n;
        for(int i = 1;i<=n;i++)vis[i] = 0;
        con.clear();
        int pos[n+1];
        for(int i = 1;i<=n;i++){
            cin>>arr[i];pos[arr[i]] = i;
        }
        int g = 0;int lol = 0;
        for(int i = 1;i<=n/2;i++){
            if(arr[i]!=i)g++;
            if(n-arr[i]+1!=arr[n-i+1]){
                cout<<-1<<endl;
                goto z;
            }if(arr[i]>n/2){
                lol++;
            }
        }
        if(lol&1){
            cout<<-1<<endl;
            goto z;
        }
        for(int it = 0;it<30;it++){
        for(int i = 1;i<=n;i++){
            if(arr[i]!=i){
                con.push_back({arr[i],i});
                swap(arr[i],arr[arr[i]]);
                swap(arr[n-i+1],arr[arr[n-i+1]]);
            }
        }
        }
        cout<<con.size()<<" "<<con.size()<<"\n";
        for(auto i:con)cout<<i.first<<" "<<i.second<<"\n";
    }
}

Compilation message

cat.cpp: In function 'int main()':
cat.cpp:13:13: warning: variable 'pos' set but not used [-Wunused-but-set-variable]
   13 |         int pos[n+1];
      |             ^~~
# Verdict Execution time Memory Grader output
1 Correct 4 ms 344 KB Correct number of moves
# Verdict Execution time Memory Grader output
1 Correct 19 ms 604 KB Output is correct
2 Correct 17 ms 600 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 344 KB Correct number of moves
2 Correct 19 ms 604 KB Output is correct
3 Correct 17 ms 600 KB Output is correct
4 Correct 19 ms 604 KB Correct number of moves
5 Correct 7 ms 348 KB Correct number of moves
6 Correct 6 ms 524 KB Correct number of moves
# Verdict Execution time Memory Grader output
1 Correct 19 ms 604 KB Output is correct
2 Correct 17 ms 600 KB Output is correct
3 Correct 364 ms 13488 KB Output is correct
4 Correct 327 ms 12356 KB Output is correct
5 Correct 355 ms 15304 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 344 KB Correct number of moves
2 Correct 19 ms 604 KB Output is correct
3 Correct 17 ms 600 KB Output is correct
4 Correct 19 ms 604 KB Correct number of moves
5 Correct 7 ms 348 KB Correct number of moves
6 Correct 6 ms 524 KB Correct number of moves
7 Correct 364 ms 13488 KB Output is correct
8 Correct 327 ms 12356 KB Output is correct
9 Correct 355 ms 15304 KB Output is correct
10 Correct 362 ms 11736 KB Correct number of moves
11 Correct 312 ms 9720 KB Correct number of moves
12 Correct 335 ms 13416 KB Correct number of moves
13 Correct 359 ms 14884 KB Correct number of moves
14 Correct 323 ms 12808 KB Correct number of moves