結果
問題 | No.1109 調の判定 |
ユーザー |
![]() |
提出日時 | 2022-08-18 16:51:34 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,319 bytes |
コンパイル時間 | 2,825 ms |
コンパイル使用メモリ | 245,684 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-06 09:43:22 |
合計ジャッジ時間 | 4,081 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; using ull = unsigned long long; using ld = long double; template<class t> using vc = vector<t>; template<class t> using vvc = vc<vc<t>>; using pi = pair<int,int>; using vi = vc<int>; using vvi = vvc<int>; #define rep(i,a,b) for (int i = a; i < b; i++) #define irep(i,a,b) for (int i = a; i > b; i--) #define print(n) cout << n << endl #define rup(a,b) (a+b-1)/b int main(){ cout << fixed << setprecision(15); int N; cin>>N; int T[N]; rep(i,0,N) cin>>T[i]; int now = -1; bool p = false; int d[]={0,2,4,5,7,9,11}; int k[7]; rep(i,0,12){ rep(j,0,7){ k[j] = (i+d[j]) % 12; } bool qq = true; rep(j,0,N){ bool q = false; rep(a,0,7){ if(T[j]==k[a]){ q = true; break; } } if (q) continue; else { qq = false; break;} } if(qq){ if(!p){ now = i; p = true; continue; }else{ print(-1); return 0; } } } print(now); //system("pause"); return 0; }