2019-08-12

import java.util.Arrays;
import java.util.Scanner;

class Solution {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int length = input.nextInt();
        int count = input.nextInt();
        int[] array = new int[count];
        for (int i =  0; i < count; i++){
            array[i] = input.nextInt();
        }

        Arrays.sort(array);
        System.out.println(Arrays.toString(array));


        int ans = Integer.MAX_VALUE;
        int i = 0;
        int cur = 0;
        for (; i <= length - count; i++){
            cur = 0;
            int j = 0;
            int k = 0;
            cur += Math.abs(array[0] - i);
            for (j = 1; j < count; j++){
                if (Math.abs(array[j] - i - j) > Math.abs(length - array[j] + i)){
                    break;
                }
                cur += Math.abs(array[j] - i - j);
            }
            for (; j < count; j++){
                cur += Math.abs(length - array[j] + i - k++);
            }
            ans = Math.min(ans, cur);
        }


        System.out.println(ans);

        System.out.println(Arrays.toString(array));

    }
}

你可能感兴趣的:(2019-08-12)