CSES - Datatähti Open 2021 - Results
Submission details
Task:Sorting
Sender:etaha
Submission time:2021-01-31 15:14:48 +0200
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.01 s1, 2details
#20.01 s2details
#30.01 s1, 2details
#40.01 s1, 2details

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;

	}
	if(n==1){cout<<"YES"<<endl; return;}
	for(i=1;i<=n;i++){
		if(d[i]==i) continue;
		if(ind[i]==n or i>=n-2){cout<<"NO"<<endl; return;}
		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<<"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:

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
NO
...
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