Решение задачи "Три друга" с Codeforces

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


Три друга хотят встретиться друг с другом. Изначально первый друг находится в позиции x=a, второй друг находится в позиции x=b, а третий находится в позиции x=c на координатной оси Ox.

За одну минуту каждый из друзей независимо от других друзей может изменить позицию x на 1 влево или на 1 вправо (то есть присвоить x:=x−1 или x:=x+1), или даже не менять ее.

Введем понятие суммарной попарной дистанции — суммы дистанций между каждой парой друзей. Пусть a′, b′ и c′ — финальные позиции первого, второго и третьего друзей соответственно. Тогда суммарная попарная дистанция равна |a′−b′|+|a′−c′|+|b′−c′|, где |x| — абсолютная величина (модуль) значения x.

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

Вам необходимо ответить на q независимых наборов входных данных.

Код

#include<iostream>
using namespace std;
main()
{
	int t;
	cin >> t;
	while(t--)
	{
		int a,b,c;
		cin >> a >> b >> c;
		cout << max(2 * (max(a, max(b,c)) - min(a, min(b,c)) - 2),0) << endl;
	}
}

         

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


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

Комментарии

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