编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#4674 #1022. 相等步数 Compile Error 0 0 ms 0 K C / 1.1 K t330026152 2024-01-17 15:31:36
显示原始代码
#include <stdio.h>
#include <stdlib.h>
int minOperations(int *arr, int n, int target) {
    int operations = 0;
    for (int i = 0; i < n; i++) {
        int diff;
        if (arr[i] >= target) {
            diff = arr[i] - target;
        } else {
            diff = target - arr[i];
        }
        operations += diff <= 5 ? diff : 10 - diff;
    }
    return operations;
}
int main() {
    int n;
    if (scanf("%d", &n) != 1) {
        printf("Invalid input\n");
        return 1;
    }
    int *arr = (int *)malloc(n * sizeof(int));
    if (arr == NULL) {
        printf("Memory allocation failed\n");
        return 1;
    }
    for (int i = 0; i < n; i++) {
        if (scanf("%d", &arr[i]) != 1) {
            printf("Invalid input\n");
            free(arr);
            return 1;
        }
    }
    int minOps = INT_MAX;
    int target = 0;
    for (int i = 0; i < 10; i++) {
        int ops = minOperations(arr, n, i);
        if (ops < minOps) {
            minOps = ops;
            target = i;
        }
    }
    printf("%d\n", minOps);
    free(arr);
    return 0;
}

编译信息

/sandbox/1/a.c:34:18: error: use of undeclared identifier 'INT_MAX'
    int minOps = INT_MAX;
                 ^
1 error generated.