結果

問題 No.406 鴨等間隔の法則
ユーザー olphe
提出日時 2016-11-15 23:37:26
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
RE  
実行時間 -
コード長 771 bytes
コンパイル時間 729 ms
コンパイル使用メモリ 53,596 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-07 06:48:44
合計ジャッジ時間 2,786 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27 RE * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

#include "iostream"
using namespace std;

int N;
int place[100001];
int mini=-1;
int semi_min=-1;
int dis;
bool flag[100001] = {};

int main() {
	cin >> N;
	for (int i = 0; i < N; i++) {
		cin >> place[i];
		if (semi_min == -1)semi_min = mini;
		if (mini == -1)mini = place[i];
		
		if (mini >= place[i]) {
			semi_min = mini;
			mini = place[i];
		}
		else  if (semi_min >= place[i]) {
			semi_min = place[i];
		}
	}
	dis = semi_min - mini;
	//cout << dis << min << semi_min;
	if (dis == 0) {
		cout << "NO" << "\n";
		return 0;
	}
	for (int i = 0; i < N; i++) {
		if ((place[i] - mini) % dis == 0) {
			flag[(place[i]-mini)/dis] = true;
		}
	}
	for (int i = 0; i < N; i++) {
		if (!flag[i]) {
			cout << "NO" << "\n";
			return 0;
		}
	}
	cout << "YES\n";
	return 0;
}
0