Решение задачи "КоннеР и A.R.C. Markland-N" с Codeforces

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


A.R.C. Markland-N это высокое n-этажное здание с этажами, пронумерованными от 1 до n. Между любыми двумя соседними этажами есть лестница их соединяющая.

У нашего сенсея Колина «КоннеР» Неймена Jr приближается время обеда, поэтому он решил выбрать, в каком месте он собирается поесть.

Офис Коннера располагается на s-м этаже здания. На каждом этаже здания расположено по одному ресторану, в том числе на этаже s. Однако в связи с идущей реконструкцией, k ресторанов сейчас закрыты.

Коннер не хочет терять много времени на еду, поэтому хочет найти открытый ресторан как можно ближе к нему. Иначе говоря, его интересует ресторан, требующий прохода по минимальному количеству лестниц от этажа Коннера.

Помогите Коннеру, и кто знает, может быть вы заслужите его похвалу и даже сможете насладиться обедом вместе с ним в элегантном стиле Нейманов!

Код

#include <bits/stdc++.h>
using namespace std;
main () {
	int t;
	cin>>t;
	
	while (t--) {
		int n,s,k;
		cin>>n>>s>>k;
		
		map < int , int > f;
		for (int i=1; i<=k; i++) {
			int x;
			cin>>x;
			f[x]=1;
		}
		
		for (int i=0; i<=k; i++) 
			if ((!f[s-i] && 1<=s-i) || (!f[s+i] && s+i<=n)) {
				cout<<i<<endl;
				break;
			}
	}
}

         

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


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

Комментарии

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