結果
問題 | No.387 ハンコ |
ユーザー | okaduki |
提出日時 | 2016-07-02 01:09:01 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 1,014 ms / 5,000 ms |
コード長 | 1,247 bytes |
コンパイル時間 | 1,674 ms |
コンパイル使用メモリ | 176,864 KB |
実行使用メモリ | 10,368 KB |
最終ジャッジ日時 | 2024-10-12 01:52:10 |
合計ジャッジ時間 | 10,712 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1,014 ms
10,368 KB |
testcase_01 | AC | 1,010 ms
10,368 KB |
testcase_02 | AC | 841 ms
5,248 KB |
testcase_03 | AC | 834 ms
5,248 KB |
testcase_04 | AC | 314 ms
6,144 KB |
testcase_05 | AC | 626 ms
8,192 KB |
testcase_06 | AC | 849 ms
9,600 KB |
testcase_07 | AC | 838 ms
5,248 KB |
testcase_08 | AC | 847 ms
5,248 KB |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef vector<int> VI; typedef vector<VI> VVI; typedef vector<string> VS; typedef pair<int, int> PII; typedef long long LL; typedef pair<LL, LL> PLL; #define ALL(a) (a).begin(),(a).end() #define RALL(a) (a).rbegin(), (a).rend() #define PB push_back #define EB emplace_back #define MP make_pair #define SZ(a) int((a).size()) #define EACH(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i) #define EXIST(s,e) ((s).find(e)!=(s).end()) #define SORT(c) sort((c).begin(),(c).end()) #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define REP(i,n) FOR(i,0,n) #define FF first #define SS second template<class S, class T> istream& operator>>(istream& is, pair<S,T>& p){ return is >> p.FF >> p.SS; } const double EPS = 1e-10; const double PI = acos(-1.0); const LL MOD = 1e9+7; using B = bitset<100010*2>; int main(){ cin.tie(0); ios_base::sync_with_stdio(false); int N; cin >> N; map<int,VI> xs; REP(i,N){ int x; cin >> x; xs[x].PB(i); } B b; REP(i,N){ int x; cin >> x; if(x) b[i] = true; } B ans; for(auto& px: xs){ B tmp; for(int x: px.SS) tmp |= b << x; ans ^= tmp; } REP(i,2*N-1){ cout << (ans[i]?"ODD":"EVEN") << endl; } return 0; }