Решение задачи Числа на окружности с Codeforces

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


Вам дано n чисел a1,a2,…,an. Возможно ли расставить их по окружности таким образом, чтобы каждое число было строго меньше суммы своих соседей?

К примеру, для массива [1,4,5,6,7,8], расстановка слева удовлетворяет условию, в то время как расстановка справа нет, так как 5≥4+1 и 8>1+6.

Код

#include<bits/stdc++.h>

using namespace std;
int a[200000];
int main()
{
	int n;
	cin>>n;
	for(int i=0;i<n;i++)
		cin>>a[i];
	sort(a,a+n);
	if((a[n-3]+a[n-2])>a[n-1])
	{
		cout<<"YES"<<endl;
		for(int i=0;i<n-2;i++)
			cout<<a[i]<<" ";
		cout<<a[n-1]<<" "<<a[n-2]<<endl;
	}
	else
		cout<<"NO"<<endl;
}

         

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




Комментарии

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