1792C - Min Max Sort - CodeForces Solution


binary search brute force greedy math math math math math

Please click on ads to support us..

C++ Code:

/*
	author: akhilendra11
*/


#include<bits/stdc++.h>
using namespace std;

#define int long long int
#define endl "\n"

void solve(){
	int n; cin>>n;
	int idx[n+1];

	for(int i=1;i<=n;i++){
		int x; cin>>x;
		idx[x]=i;
	}

	int c=n/2;

	int i=idx[c]; 
	int j=idx[n-c+1];

	if(n==1){
		cout<<"0\n";
		return;
	}
	if(i>j and n%2==0){
		cout<<n/2<<"\n";
		return;
	}

	if(n%2){
		i=j=idx[c+1];
	}
	else c--;
	
	while(c>0 and idx[c]<i and idx[n-c+1]>j){
		i=idx[c];
		j=idx[n-c+1];
		c--;
	}

	cout<<c<<"\n";

}

int32_t main(){

#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

	int t; cin>>t;
	while(t--){
		solve();
	}
	
	return 0;
}


Comments

Submit
0 Comments
More Questions

714B - Filya and Homework
31A - Worms Evolution
1691A - Beat The Odds
433B - Kuriyama Mirai's Stones
892A - Greed
32A - Reconnaissance
1236D - Alice and the Doll
1207B - Square Filling
1676D - X-Sum
1679A - AvtoBus
1549A - Gregor and Cryptography
918C - The Monster
4B - Before an Exam
545B - Equidistant String
1244C - The Football Season
1696B - NIT Destroys the Universe
1674A - Number Transformation
1244E - Minimizing Difference
1688A - Cirno's Perfect Bitmasks Classroom
219A - k-String
952A - Quirky Quantifiers
451B - Sort the Array
1505H - L BREAK into program
171E - MYSTERIOUS LANGUAGE
630D - Hexagons
1690D - Black and White Stripe
1688D - The Enchanted Forest
1674C - Infinite Replacement
712A - Memory and Crow
1676C - Most Similar Words