답안 #690566

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
690566 2023-01-30T09:48:08 Z alexdd Cat (info1cup19_cat) C++17
0 / 100
1000 ms 36356 KB
#pragma GCC optimize("O3,unroll-loops")
#include<bits/stdc++.h>
using namespace std;
int n;
int p[200001];
int unde[200001];
bool subtask=1;
vector<pair<int,int>> sol;
void da_swap(int x, int y)
{
    sol.push_back({x,y});
    int a=n-x+1,b=n-y+1;
    swap(unde[p[x]], unde[p[y]]);
    swap(p[x], p[y]);

    swap(unde[p[a]], unde[p[b]]);
    swap(p[a], p[b]);
}
void subtask_half()
{
    for(int i=1;i<=n/2;i++)
        unde[p[i]]=i;
    for(int i=1;i<=n/2;i++)
    {
        ///pune i pe pozitia i
        if(p[i]==i)
            continue;
        da_swap(i, unde[i]);
    }
    bool possible=1;
    for(int i=1;i<=n;i++)
        if(p[i]!=i)
            possible=0;
    if(!possible)
    {
        cout<<-1<<"\n";
    }
    else
    {
        cout<<sol.size()<<" "<<sol.size()<<"\n";
        for(int i=0;i<sol.size();i++)
            cout<<sol[i].first<<" "<<sol[i].second<<"\n";
    }
    return;
}
signed main()
{
    int t;
    cin>>t;
    while(t--)
    {
        cin>>n;
        subtask=1;
        for(int i=1;i<=n;i++)
        {
            cin>>p[i];
            if(i<=n/2 && p[i]>n/2)
                subtask=0;
        }
        if(subtask)
            subtask_half();
        else
        {

        }
    }
}

Compilation message

cat.cpp: In function 'void subtask_half()':
cat.cpp:41:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |         for(int i=0;i<sol.size();i++)
      |                     ~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 10 ms 468 KB Wrong answer
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1070 ms 36356 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 10 ms 468 KB Wrong answer
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1070 ms 36356 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 10 ms 468 KB Wrong answer
2 Halted 0 ms 0 KB -