結果

問題 No.387 ハンコ
ユーザー jjh20100730jjh20100730
提出日時 2024-10-15 21:15:34
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
TLE  
実行時間 -
コード長 684 bytes
コンパイル時間 3,603 ms
コンパイル使用メモリ 204,604 KB
実行使用メモリ 10,496 KB
最終ジャッジ日時 2024-10-15 21:15:54
合計ジャッジ時間 19,016 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 TLE -
testcase_01 -- -
testcase_02 -- -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
bitset<N> bs,bst[N],ansb;
vector<int> v[N];
int n,a[N],b[N];
int main() {
//	freopen("stamp.in","r",stdin);
//	freopen("stamp.out","w",stdout);
	cin>>n;
	for(int i=1; i<=n; i++) cin>>a[i],v[a[i]].push_back(i);
	for(int i=1; i<=n; i++) cin>>b[i];
	for(int i=1; i<=n; i++) {
		if(!v[i].size()) continue;
		for(int j=0; j<v[i].size(); j++) bs[v[i][j]]=true;
		for(int j=1; j<=n; j++) {
			if(b[j]) bst[i]|=bs;
			bs<<=1;
		}
		for(int j=0; j<v[i].size(); j++) bs[v[i][j]+n-1]=false;
	}
	for(int i=1; i<=n; i++) ansb^=bst[i];
	for(int i=1; i<=2*n-1; i++) 
		if(ansb[i]) printf("ODD\n");
		else printf("EVEN\n");
	return 0;
}
0