Решение задачи "Получаем перестановку" с Codeforces

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


Перестановкой p называется упорядоченный набор чисел p1,  p2,  ...,  pn, состоящий из n различных целых положительных чисел, каждое из которых не больше чем n. Обозначим i-й элемент перестановки p через pi. Число n будем называть размером или длиной перестановки p1,  p2,  ...,  pn.

Вам дана последовательность целых чисел a1, a2, ..., an. За один ход разрешается уменьшить или увеличить любое число на единицу. Посчитайте, какое наименьшее число ходов необходимо, чтобы получить из данной последовательности перестановку.

Код

#include<bits/stdc++.h>
using namespace std;
long long n,a[400000],c;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++)
		c+=abs(i-a[i]);
	cout<<c;
	return 0;
}

         

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


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

Комментарии

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