結果
問題 | No.1852 Divide or Reduce |
ユーザー | houren |
提出日時 | 2022-02-25 23:44:41 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 491 ms / 2,000 ms |
コード長 | 871 bytes |
コンパイル時間 | 1,458 ms |
コンパイル使用メモリ | 166,284 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-03 18:44:52 |
合計ジャッジ時間 | 8,432 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 20 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; using P = pair<ll,ll>; #define rep(i, n) for(ll i = 0; i < n; i++) #define all(x) (x).begin(),(x).end() template<class T>bool chmin(T&a, const T&b){if(a>b){a=b;return 1;}return 0;} template<class T>bool chmax(T&a, const T&b){if(a<b){a=b;return 1;}return 0;} int main(){ int t; cin >> t; rep(houren,t){ ll n,tot=0,mi=10010010010001; bool ans; cin >> n; rep(i,n){ ll a; cin >> a; tot += a-1; mi = min(mi, a-1); } if(tot%2) ans = true; else{ if(!mi) ans = false; else{ if(n%2) ans = false; else ans = mi%2; } } if(ans) cout << "First" << '\n'; else cout << "Second" << '\n'; } return 0; }