Решение задачи Сбалансированная команда с Codeforces

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


Вы — университетский тренер. Всего в университете под Вашим надзором n студентов, умение программировать i-го студента равно ai.

Вы хотите составить команду для нового соревнования по программированию. Как Вы знаете, чем больше студентов на соревновании — тем больше шансов победить! Поэтому Вы хотите составить максимальную по количеству студентов команду. Но Вы также знаете, что команда должна быть сбалансированной. Это означает, что умение программировать каждой пары студентов в команде должно отличаться не более, чем на 5.

Ваша задача — найти максимально возможное количество студентов в сбалансированной команде.

Код

#include <bits/stdc++.h>

using namespace std;
int main(){
	int n;cin>>n;
	int a[n];
	int ans=-1;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	sort(a,a+n);
	for(int i=0;i<n;i++){
		int l = upper_bound(a,a+n, a[i]+5)-a - i;
		ans = max(ans,l);
	}
	cout<<ans<<endl;
}

         

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



Комментарии

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