結果

問題 No.1109 調の判定
ユーザー QCFium
提出日時 2020-07-10 21:25:14
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 540 bytes
コンパイル時間 1,952 ms
コンパイル使用メモリ 174,680 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-11 07:37:24
合計ジャッジ時間 2,943 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 43
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

int ri() {
	int n;
	scanf("%d", &n);
	return n;
}

int main() {
	const int t[] = {0, 2, 4, 5, 7, 9, 11};
	int m = 7;
	int n = ri();
	int a[n];
	for (auto &i : a) i = ri();
	std::vector<int> oks;
	for (int i = 0; i < 12; i++) {
		std::set<int> tmp(t, t + 7);
		bool ok = true;
		for (int j = 0; j < n; j++) {
			int cur = (a[j] + 12 - i) % 12;
			if (tmp.count(cur)) tmp.erase(cur);
			else ok = false;
		}
		if (ok) oks.push_back(i);
	}
	if (oks.size() == 1) printf("%d\n", oks[0]);
	else puts("-1");
	return 0;
}
0