CSES - Datatähti Open 2021 - Results
Submission details
Task:Sorting
Sender:Sasha008
Submission time:2021-01-30 15:40:29 +0200
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.01 s1, 2details
#20.08 s2details
#30.01 s1, 2details
#40.02 s1, 2details

Code

#include<bits/stdc++.h>
#define x fwfwFwf1
#define y fwfwFwf2
using namespace std;
long long a,b,c,d,n,m,i,f,g,i2,j2,f1,f2,j,k,l,o,p,t,y,mx,mx1,mx2,q,q1,q2,r,mn=1e18,mn1=1e18,mn2=1e18,MOD=1e9+7;
long long A[2000006];
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>t;
    while(t--)
    {
        cin>>n;
        o=0;
        for(i=1;i<=n;i++)
        {
            cin>>A[i];
        }
        for(i=1;i<=1000;i++)
        {
            q=0;
            for(j=1;j<=n;j++)
            {
                if (A[j]!=j)
                {
                    q=j;break;
                }
            }
            if (q==0) break;

            for(j=1;j<=n;j++)
            {
                if (A[j]==q)
                {
                    q2=j;break;
                }
            }
            if (q2==n)
            {
                q=q2-2;
            }
            if (q+1==q2)
            {
                q=q2+2;
            }
            swap(A[q],A[q2]);
            swap(A[q+1],A[q2+1]);
        }
        for(i=1;i<=n;i++)
        {
            if (A[i]!=i) {o=1;}
        }
        for(i=0;i<=n+10;i++)
        {
            A[i]=0;
        }
        if (o==0) cout<<"YES\n";
        else cout<<"NO\n";
    }
}
//1 3 2 5 4 6
//1 3 4 6 2 5
//1 2 5 6 3 4
//1 2 3 4 5 6

Test details

Test 1

Group: 1, 2

Verdict:

input
153
1
1
2
1 2
...

correct output
YES
YES
NO
NO
NO
...

user output
YES
YES
NO
NO
NO
...
Truncated

Test 2

Group: 2

Verdict:

input
1000
59
35 29 32 50 11 15 9 21 19 45 2...

correct output
YES
NO
YES
NO
YES
...

user output
NO
NO
NO
NO
NO
...
Truncated

Test 3

Group: 1, 2

Verdict:

input
720
6
1 6 4 5 2 3
6
6 3 2 1 5 4
...

correct output
YES
NO
NO
NO
YES
...

user output
NO
NO
NO
NO
YES
...
Truncated

Test 4

Group: 1, 2

Verdict:

input
1000
8
7 4 2 8 6 3 5 1
8
3 8 2 7 5 4 6 1
...

correct output
NO
NO
YES
NO
YES
...

user output
NO
NO
NO
NO
NO
...
Truncated