Submission #861280

# Submission time Handle Problem Language Result Execution time Memory
861280 2023-10-15T19:16:09 Z Ahmed57 Cat (info1cup19_cat) C++17
36.25 / 100
449 ms 23752 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 i = 1;i<=n;i++){
            if(!vis[i]&&arr[i]<=n/2){
                int st = i;
                vis[i] = 1;
                int e = arr[i];
                while(vis[e]==0){
                    vis[e] = 1;
                    con.push_back({e,i});
                    e = arr[e];
                }
            }
        }
        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:33:21: warning: unused variable 'st' [-Wunused-variable]
   33 |                 int st = i;
      |                     ^~
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 5 ms 348 KB Correctly distinguished between possibility and impossibility
# Verdict Execution time Memory Grader output
1 Correct 14 ms 604 KB Output is correct
2 Correct 14 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 348 KB Correctly distinguished between possibility and impossibility
2 Correct 14 ms 604 KB Output is correct
3 Correct 14 ms 604 KB Output is correct
4 Correct 19 ms 856 KB Correctly distinguished between possibility and impossibility
5 Correct 8 ms 604 KB Correctly distinguished between possibility and impossibility
6 Correct 6 ms 604 KB Correctly distinguished between possibility and impossibility
# Verdict Execution time Memory Grader output
1 Correct 14 ms 604 KB Output is correct
2 Correct 14 ms 604 KB Output is correct
3 Correct 284 ms 10528 KB Output is correct
4 Correct 275 ms 9928 KB Output is correct
5 Correct 313 ms 12544 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 348 KB Correctly distinguished between possibility and impossibility
2 Correct 14 ms 604 KB Output is correct
3 Correct 14 ms 604 KB Output is correct
4 Correct 19 ms 856 KB Correctly distinguished between possibility and impossibility
5 Correct 8 ms 604 KB Correctly distinguished between possibility and impossibility
6 Correct 6 ms 604 KB Correctly distinguished between possibility and impossibility
7 Correct 284 ms 10528 KB Output is correct
8 Correct 275 ms 9928 KB Output is correct
9 Correct 313 ms 12544 KB Output is correct
10 Correct 409 ms 18672 KB Correctly distinguished between possibility and impossibility
11 Correct 357 ms 15480 KB Correctly distinguished between possibility and impossibility
12 Correct 396 ms 20684 KB Correctly distinguished between possibility and impossibility
13 Correct 449 ms 23752 KB Correctly distinguished between possibility and impossibility
14 Correct 391 ms 20084 KB Correctly distinguished between possibility and impossibility