Решение задачи Встреча друзей с Codeforces

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


Два друга находятся на координатной прямой Ox в целочисленных точках. Один из них находится в точке x 1 = a, а другой — в точке x 2 = b.

Каждый из друзей может перемещаться на единицу влево и на единицу вправо неограниченное количество раз. При перемещении усталость мальчика увеличивается по следующим правилам: после первого перемещения усталость увеличивается на 1, после второго перемещения — на 2, после третьего — на 3 и так далее. Например, если мальчик сначала пойдёт влево на единицу, затем вправо на единицу (то есть вернётся в исходную точку) и после этого влево на единицу, его усталость будет равна 1 + 2 + 3 = 6.

Друзья хотят встретиться в одной точке. Определите минимальную суммарную усталость друзей при условии, что они должны оказаться в одной точке.

Код

#include <bits/stdc++.h>

using namespace std;

int main() {
  int a, b; cin >> a >> b;
  int d = abs(a - b);
  cout << (d / 2 + (d & 1)) * (d / 2 + 1);
}

         

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



Комментарии

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