Submission #315129

# Submission time Handle Problem Language Result Execution time Memory
315129 2020-10-22T03:05:22 Z daniel920712 Cat (info1cup19_cat) C++14
0 / 100
541 ms 262148 KB
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <vector>

using namespace std;
int all[3000005];
int where[3000005];
vector < pair < int , int > > ans;
int main()
{
    int T,x,y,ok=1,N,i,j;
    scanf("%d",&T);
    while(T--)
    {
        ok=1;
        ans.clear();
        scanf("%d",&N);
        
            for(i=1;i<=N;i++) scanf("%d",&all[i]);
            for(i=1;i<=N/2;i++)
            {
                if(all[i]!=i)
                {
                    x=i;
                    y=where[i];
                    if(N-x+1==y)
                    {

                        swap(all[x],all[x+1]);
                        where[all[x]]=x;
                        where[all[x+1]]=x+1;
                        ans.push_back(make_pair(x,x+1));
                        swap(all[N-x+1],all[N-x]);
                        where[all[N-x+1]]=N-x+1;
                        where[all[N-x]]=N-x;
                        i--;
                    }
                    else
                    {
                        swap(all[x],all[y]);
                        where[all[x]]=x;
                        where[all[y]]=y;
                        ans.push_back(make_pair(x,y));
                        swap(all[N-x+1],all[N-y+1]);
                        where[all[N-x+1]]=N-x+1;
                        where[all[N-y+1]]=N-y+1;

                    }



                }
                 if(all[N-i+1]!=N-i+1) break;

            }
            for(i=1;i<=N;i++) if(all[i]!=i) ok=0;
            if(ok)
            {
                printf("%d %d\n",ans.size(),ans.size());
                for(auto i:ans) printf("%d %d\n",i.first,i.second);

            }
            else printf("-1\n");
        
    }
    return 0;
}

Compilation message

cat.cpp: In function 'int main()':
cat.cpp:61:26: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wformat=]
   61 |                 printf("%d %d\n",ans.size(),ans.size());
      |                         ~^       ~~~~~~~~~~
      |                          |               |
      |                          int             std::vector<std::pair<int, int> >::size_type {aka long unsigned int}
      |                         %ld
cat.cpp:61:29: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wformat=]
   61 |                 printf("%d %d\n",ans.size(),ans.size());
      |                            ~^               ~~~~~~~~~~
      |                             |                       |
      |                             int                     std::vector<std::pair<int, int> >::size_type {aka long unsigned int}
      |                            %ld
cat.cpp:13:24: warning: unused variable 'j' [-Wunused-variable]
   13 |     int T,x,y,ok=1,N,i,j;
      |                        ^
cat.cpp:14:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   14 |     scanf("%d",&T);
      |     ~~~~~^~~~~~~~~
cat.cpp:19:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   19 |         scanf("%d",&N);
      |         ~~~~~^~~~~~~~~
cat.cpp:21:36: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   21 |             for(i=1;i<=N;i++) scanf("%d",&all[i]);
      |                               ~~~~~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Runtime error 541 ms 262148 KB Execution killed with signal 9 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Incorrect 22 ms 384 KB Wrong answer
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 541 ms 262148 KB Execution killed with signal 9 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Incorrect 22 ms 384 KB Wrong answer
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 541 ms 262148 KB Execution killed with signal 9 (could be triggered by violating memory limits)