#include #include //qsort用比較関数 int compare(const void* x, const void* y) { return *(int*)x - *(int*)y; } int main(void) { //N取得 int N; std::cin >> N; //X取得 int* X = new int[N]; for (int i = 0; i < N; ++i) { std::cin >> X[i]; } //座標ソート qsort(X, N, sizeof(int), compare); //階差数列を作成 int* Xdiff = new int[N - 1]; for (int i = 0; i < N - 1; ++i) { Xdiff[i] = X[i + 1] - X[i]; } //階差数列をソート qsort(Xdiff, N - 1, sizeof(int), compare); if (Xdiff[N - 2]) { //0以外の最小数を探索 for (int i = 0; i < N - 1; ++i) { if (Xdiff[i]) { std::cout << Xdiff[i]; break; } } } //見つからない場合は0出力 else { std::cout << 0; } //お掃除 delete[] X; delete[] Xdiff; return 0; }