Task: | Sorting |
Sender: | etaha |
Submission time: | 2021-01-31 16:11:40 +0200 |
Language: | C++ (C++11) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | WRONG ANSWER | 0.01 s | 1, 2 | details |
#2 | WRONG ANSWER | 0.01 s | 2 | details |
#3 | WRONG ANSWER | 0.01 s | 1, 2 | details |
#4 | WRONG ANSWER | 0.01 s | 1, 2 | details |
Compiler report
input/code.cpp: In function 'void solve()': input/code.cpp:34:17: warning: unused variable 'j' [-Wunused-variable] lint a,b,c,x,i,j,k,n; ^ input/code.cpp:34:19: warning: unused variable 'k' [-Wunused-variable] lint a,b,c,x,i,j,k,n; ^
Code
//debug icin gdb kullanmayi dene#include<bits/stdc++.h>using namespace std;#define mods 1000000007#define pb push_back#define mp make_pair#define st first#define nd second#define rs resize#define pii pair<lint,lint>#define piii pair<lint,pair<lint,lint> >#define inf LLONG_MAX-7#define vvL vector<vector<lint> >#define vvB vector<vector<bool> >#define vvvL vector<vector<vector<lint> > >#define vL vector<lint>#define vpii vector<pii>#define vB vector<bool>typedef long long int lint;typedef unsigned long long int ulint;lint fastpow(lint tab,lint us){if(tab==0) return 0;if(tab==1) return 1;if(us==0) return 1;if(us==1) return tab%mods;tab%=mods;if(us%2==1) return tab*fastpow(tab,us-1)%mods;lint a=fastpow(tab,us/2)%mods;return a*a%mods;}lint t=1;void solve(){lint a,b,c,x,i,j,k,n;cin>>n;vL d(n+2),ind(n+2);for(i=1;i<=n;i++){cin>>d[i];ind[d[i]]=i;}/* cout<<"d: "<<endl;for(i=1;i<=n;i++) cout<<d[i]<<" ";cout<<endl<<"ind: "<<endl;for(i=1;i<=n;i++) cout<<ind[i]<<" ";cout<<endl<<endl;//*/if(n==1){cout<<"YES"<<endl; return;}for(i=1;i<=n;i++){if(d[i]==i) continue;// cout<<i<<endl;if(i>=n-2){cout<<"NO"<<endl; return;}if(ind[i]==i+1){if(i>=n-3){cout<<"NO"<<endl; return;}a=d[i],b=d[i+1],c=d[i+2],x=d[i+3];swap(d[i],d[i+2]);swap(d[i+1],d[i+3]);swap(ind[a],ind[c]);swap(ind[b],ind[x]);/* cout<<"d: "<<endl;for(j=1;j<=n;j++) cout<<d[j]<<" ";cout<<endl<<"ind: "<<endl;for(j=1;j<=n;j++) cout<<ind[j]<<" ";cout<<endl<<endl;//*/}else if(ind[i]==n){if(i>=n-3){cout<<"NO"<<endl; return;}a=d[n-4],b=d[n-3],c=d[n-2],x=d[n-1];swap(d[n-4],d[n-2]);swap(d[n-3],d[n-1]);swap(ind[a],ind[c]);swap(ind[b],ind[x]);/* cout<<"d: "<<endl;for(j=1;j<=n;j++) cout<<d[j]<<" ";cout<<endl<<"ind: "<<endl;for(j=1;j<=n;j++) cout<<ind[j]<<" ";cout<<endl<<endl;//*/}a=d[i],b=d[i+1],c=i,x=d[ind[i]+1];swap(d[i],d[ind[i]]);swap(d[i+1],d[ind[i]+1]);swap(ind[a],ind[c]);swap(ind[b],ind[x]);/* cout<<"d: "<<endl;for(j=1;j<=n;j++) cout<<d[j]<<" ";cout<<endl<<"ind: "<<endl;for(j=1;j<=n;j++) cout<<ind[j]<<" ";cout<<endl<<endl;//*/}cout<<"YES"<<endl;return;}int main(){// freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);cin>>t;while(t--) solve();return 0;}
Test details
Test 1
Group: 1, 2
Verdict: WRONG ANSWER
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: WRONG ANSWER
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: WRONG ANSWER
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 NO ... Truncated |
Test 4
Group: 1, 2
Verdict: WRONG ANSWER
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 |