1638B - Odd Swap Sort - CodeForces Solution


data structures math sortings *1100

Please click on ads to support us..

Python Code:

import sys

def _input_iter():
    for line in sys.stdin:
        for part in line.strip().split(' '):
            stripped = part.strip()
            if stripped:
                yield stripped


stream = _input_iter()


def read_int():
    return int(next(stream))


def read_str():
    return next(stream)


def run():
    n = read_int()
    arr_even = []
    arr_odd = []

        for i in range(n):
        cur = read_int()
        if cur % 2 != 0:
            arr_odd.append(cur)
        else:
            arr_even.append(cur)
    
    curr_even = -1
    curr_odd = -1

            for i in range(len(arr_odd)):
        if curr_odd > arr_odd[i]:
            print("NO")
            return
        else:
            curr_odd = arr_odd[i]

            for i in range(len(arr_even)):
        if curr_even > arr_even[i]:
            print("NO")
            return
        else:
            curr_even = arr_even[i]
    
            print("YES")


test_cases = read_int()
for _ in range(test_cases):
    run()

C++ Code:

#include <bits/stdc++.h>

using namespace std;
#define gogo ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);

const string YES = "YES";
const string NO = "NO";

void run() {
	int n;
	cin >> n;
	vector<int> even, odd;
	for (int i = 0;i < n;i ++) {
		int x;
		cin >> x;
		if (x & 1) 
			odd.push_back(x);
		else 
			even.push_back(x);
	}
	if (is_sorted(even.begin(), even.end()) && is_sorted(odd.begin(), odd.end()))
		cout << "Yes" << endl;
	else 
		cout << "No" << endl;
}

int32_t main() {
	gogo;
    
    int tt;
    cin >> tt;
    while (tt --) 
    	run();

    return 0;
}


Comments

Submit
0 Comments
More Questions

580A- Kefa and First Steps
1472B- Fair Division
996A - Hit the Lottery
MSNSADM1 Football
MATCHES Playing with Matches
HRDSEQ Hard Sequence
DRCHEF Doctor Chef
559. Maximum Depth of N-ary Tree
821. Shortest Distance to a Character
1441. Build an Array With Stack Operations
1356. Sort Integers by The Number of 1 Bits
922. Sort Array By Parity II
344. Reverse String
1047. Remove All Adjacent Duplicates In String
977. Squares of a Sorted Array
852. Peak Index in a Mountain Array
461. Hamming Distance
1748. Sum of Unique Elements
897. Increasing Order Search Tree
905. Sort Array By Parity
1351. Count Negative Numbers in a Sorted Matrix
617. Merge Two Binary Trees
1450. Number of Students Doing Homework at a Given Time
700. Search in a Binary Search Tree
590. N-ary Tree Postorder Traversal
589. N-ary Tree Preorder Traversal
1299. Replace Elements with Greatest Element on Right Side
1768. Merge Strings Alternately
561. Array Partition I
1374. Generate a String With Characters That Have Odd Counts