結果
問題 | No.1109 調の判定 |
ユーザー |
![]() |
提出日時 | 2020-07-10 21:41:20 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,350 bytes |
コンパイル時間 | 1,740 ms |
コンパイル使用メモリ | 172,588 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-11 08:29:35 |
合計ジャッジ時間 | 2,963 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for(int i = 0; i < (int)(n); i++) #define repr(i,n) for(int i = (int)(n); i >= 0; i--) #define all(v) v.begin(),v.end() typedef long long ll; int vector_finder(vector<int> vec, int number){ int len = vec.size(); int cnt = 0; rep(i,len){ if (vec[i] == number) cnt++; } if (cnt >= 1) return 1; else return 0; } int main(){ int N; cin >> N; vector<int> vec(N); rep(i,N){ cin >> vec[i]; } vector<vector<int> > chouon(12, vector<int>(7)); chouon[0][0] = 0; chouon[0][1] = 2; chouon[0][2] = 4; chouon[0][3] = 5; chouon[0][4] = 7; chouon[0][5] = 9; chouon[0][6] = 11; for (int i = 1; i <= 11; i++){ for (int j = 0; j <= 6; j++){ chouon[i][j] = (chouon[0][j] + i) % 12; } } bool possible = true; vector<bool> exist(12, true); if (N >= 8){ possible = false; } else{ rep(i,12){ rep(j,N){ if (vector_finder(chouon[i], vec[j]) == 0){ exist[i] = false; } } } } int count = 0; rep(i,12){ if (exist[i]) count += (10000 + i); } if (count == 0 || count >= 20000) cout << -1 << endl; else cout << (count % 10000) << endl; }