Решение задачи Очередное разделение на команды с Codeforces

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


Вы являетесь тренером группы из n студентов. Умение программировать i-го студента равно числу ai. Умения программировать всех студентов различны. Вы хотите поделить их на команды таким образом, что:

Не существует двух студентов i и j, принадлежащих одной команде, таких, что |ai−aj|=1 (т.е. разница между умениями программировать в каждой паре студентов из одной команды должна быть строго больше, чем 1);
число команд минимально возможное.
Вы должны ответить на q независимых запросов.

Код

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t;
	cin >> t;
	while(t--){
        int n, a[100], ok = 1;
        cin >> n;
        for(int i = 0; i < n;i++)
            cin >> a[i];
        sort(a, a + n);
        for(int i = 1;i < n; i++) 
            if(a[i] - a[i -1] == 1)
                ok = 2;
        cout << ok << endl;
    }
}

         

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



Комментарии

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