結果

問題 No.135 とりあえず1次元の問題
コンテスト
ユーザー でばら焼肉のたれ
提出日時 2026-09-20 14:42:21
言語 C
(gcc 15.3.0)
コンパイル:
gcc-15 -O2 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 17 ms / 5,000 ms
+ 874µs
コード長 806 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 68 ms
コンパイル使用メモリ 39,268 KB
実行使用メモリ 10,032 KB
最終ジャッジ日時 2026-09-20 14:42:23
合計ジャッジ時間 1,705 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <stdio.h>
#include <stdlib.h>

unsigned long cmp(const unsigned long *x, const unsigned long *y)
{
	return (*x < *y) ? -1 : (*x > *y) ? 1 : 0;
}


int main(void)
{
	unsigned long n;
	unsigned long *x;
	unsigned long tmp;
	unsigned long min = 1000001;
	int i, j;

	scanf("%lu", &n);

	x = calloc(n, sizeof(unsigned long));
	if (x == NULL)
		printf("領域確保失敗!");
	else {
		for (i = 0; i < n; i++) 
			scanf("%lu", &x[i]);

		qsort(x, n * sizeof(unsigned long) / sizeof(unsigned long), sizeof(unsigned long), (int (*)(const void *, const void *))cmp);

		for (i = 0; i < n - 1; i++) {
			if (x[i + 1] - x[i] < min)
				if (x[i + 1] != x[i]) 
					min = x[i + 1] - x[i];
		}

		if (n == 1 || min == 1000001)
			printf("%lu\n", 0);
		else
			printf("%lu\n", min);

		free(x);
	}
	return 0;
}
0