Решение задачи Филя и задание с Codeforces

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


Сегодня ёжик Филя впервые пошёл в школу! Учительница дала ему домашнее задание, с которым ёжик, к сожалению, не может справиться без вашей помощи.

У Фили есть массив целых неотрицательных чисел a 1, a 2, ..., a n. Он сначала один раз выбирает целое положительное число x, после чего он к некоторым числам массива прибавляет данное x (не более одного раза к каждому элементу массива), из некоторых вычитает x (не более одного раза к каждому элементу массива), а некоторые числа оставляет нетронутыми. Нужно сказать, можно ли таким образом сделать массив из одинаковых чисел.

Филя хочет знать, можно ли так выбрать x, а затем совершить такие действия, что в итоге массив будет состоять из одинаковых чисел.

Код

#include <bits/stdc++.h>
using namespace std;
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	long long n, x;
	set<long long> s;
	cin >> n;
	while(n--){
		cin >> x;
		s.insert(x);
	}
	if(s.size() <= 2){
		cout << "YES";
	}else if(s.size() == 3 && (*next(s.begin()) - *s.begin()) == (*next(s.begin(),2) - *next(s.begin()))){
		cout << "YES";
	}else{
		cout << "NO";
	}
	return 0;
}

         

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



Комментарии

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