Решение задачи "Ярослав и перестановки" с Codeforces

Без пояснения   Просмотров: 15


У Ярослава есть массив, состоящий из n целых чисел. За одну секунду Ярослав может поменять местами два рядом стоящих элемента массива. Сейчас Ярослава интересует вопрос: может ли он за конечное время получить массив, в котором любые два соседних элемента различны?

Помогите Ярославу.

Код

#include <iostream>
#include <map>
using namespace std;

int main(){
	int n;
	cin >> n;
	map <int, int> m;
	for(int i = 0; i < n; i++){
		int a;
		cin >> a;
		m[a]++;
		if(m[a] > (n + 1) / 2){
			cout << "NO";
			return 0;
		}
	}
	cout << "YES";
	return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться