답안 #861282

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
861282 2023-10-15T19:32:59 Z Ahmed57 Cat (info1cup19_cat) C++17
36.25 / 100
437 ms 23052 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<10;it++){
        for(int i = 1;i<=n;i++){
            if(arr[i]!=i) {
                int tmp=arr[i];
                con.push_back({i,tmp});
                swap(arr[i],arr[tmp]);
                swap(arr[n-i+1],arr[n-tmp+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];
      |             ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 604 KB Correctly distinguished between possibility and impossibility
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 604 KB Output is correct
2 Correct 15 ms 604 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 604 KB Correctly distinguished between possibility and impossibility
2 Correct 15 ms 604 KB Output is correct
3 Correct 15 ms 604 KB Output is correct
4 Correct 41 ms 1868 KB Correctly distinguished between possibility and impossibility
5 Correct 15 ms 856 KB Correctly distinguished between possibility and impossibility
6 Correct 13 ms 860 KB Correctly distinguished between possibility and impossibility
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 604 KB Output is correct
2 Correct 15 ms 604 KB Output is correct
3 Correct 299 ms 13300 KB Output is correct
4 Correct 295 ms 12324 KB Output is correct
5 Correct 317 ms 15156 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 604 KB Correctly distinguished between possibility and impossibility
2 Correct 15 ms 604 KB Output is correct
3 Correct 15 ms 604 KB Output is correct
4 Correct 41 ms 1868 KB Correctly distinguished between possibility and impossibility
5 Correct 15 ms 856 KB Correctly distinguished between possibility and impossibility
6 Correct 13 ms 860 KB Correctly distinguished between possibility and impossibility
7 Correct 299 ms 13300 KB Output is correct
8 Correct 295 ms 12324 KB Output is correct
9 Correct 317 ms 15156 KB Output is correct
10 Correct 419 ms 19928 KB Correctly distinguished between possibility and impossibility
11 Correct 396 ms 17224 KB Correctly distinguished between possibility and impossibility
12 Correct 380 ms 18620 KB Correctly distinguished between possibility and impossibility
13 Correct 437 ms 23052 KB Correctly distinguished between possibility and impossibility
14 Correct 359 ms 17868 KB Correctly distinguished between possibility and impossibility