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

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


Перестановкой 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 Автор: Администратор



Комментарии

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