結果

問題 No.406 鴨等間隔の法則
コンテスト
ユーザー mban
提出日時 2016-08-09 22:33:55
言語 C90(gcc12)
(gcc 12.4.0)
コンパイル:
gcc-12 -O2 -std=c90 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
TLE  
実行時間 -
コード長 641 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 249 ms
コンパイル使用メモリ 32,724 KB
最終ジャッジ日時 2026-02-23 22:14:14
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 3
other TLE * 1 -- * 28
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:9:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    9 |         scanf("%d\n", &N);
      |         ^~~~~~~~~~~~~~~~~
main.c:12:17: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   12 |                 scanf("%d", &x[i]);
      |                 ^~~~~~~~~~~~~~~~~~

ソースコード

diff #
raw source code

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

int N;
int *x;

int main() {
	int i, j;
	scanf("%d\n", &N);
	x = (int *)malloc(sizeof(int)*N);
	for (i = 0; i < N; i++) {
		scanf("%d", &x[i]);
	}
	for (i = N - 1; i >= 0; i--) {
		for (j = 0; j < i; j++) {
			if (x[j] > x[j + 1]) {
				int k = x[j];
				x[j] = x[j + 1];
				x[j + 1] = k;
			}
		}
	}
	for (i = 0; i < N - 1; i++) {
		if (x[i] == x[i + 1]) {
			printf("NO\n");
			return 0;
		}
	}
	int width = x[1] - x[0];
	if (N == 2) {
		printf("YES\n");
		return 0;
	}
	for (i = 2; i < N; i++) {
		if (x[i] - x[i - 1] != width) {
			printf("NO\n");
			return 0;
		}
	}
	printf("YES\n");
	return 0;
}
0