結果
問題 | No.1109 調の判定 |
ユーザー |
![]() |
提出日時 | 2020-07-10 21:27:52 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,110 bytes |
コンパイル時間 | 1,739 ms |
コンパイル使用メモリ | 176,524 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-11 07:45:18 |
合計ジャッジ時間 | 2,853 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
#include<bits/stdc++.h> using namespace std; #define int long long #define ii pair <int, int> #define app push_back #define all(a) a.begin(), a.end() #define bp __builtin_popcountll #define ll long long #define mp make_pair #define f first #define s second #define Time (double)clock()/CLOCKS_PER_SEC #define debug(x) std::cout << #x << ": " << x << '\n'; signed main() { #ifdef HOME freopen("input.txt", "r", stdin); #else #define endl '\n' ios_base::sync_with_stdio(0); cin.tie(0); #endif vector <int> sh = {0, 2, 4, 5, 7, 9, 11}; set <int> s[12]; for (int i = 0; i < 12; ++i) { for (int j : sh) s[i].insert((i+j)%12); } int n; cin >> n; vector <bool> can(12, 1); while (n--) { int x; cin >> x; for (int i = 0; i < 12; ++i) if (s[i].find(x) == s[i].end()) can[i] = 0; } vector <int> ans; for (int i = 0; i < 12; ++i) if (can[i]) ans.app(i); if (ans.size() != 1) cout << -1 << endl; else cout << ans[0] << endl; }