提出 #52119403
ソースコード 拡げる
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for(int i=0;i<n;i++)
static constexpr size_t bitsize = 16000; // 4000000の約数
bitset<bitsize> bit[2000];
int B = 4000000 / bitsize; // N * M = 4000000
int main() {
cin.tie(0);
ios::sync_with_stdio(false);
int n, m;
cin >> n >> m;
vector a(n, vector(m, 0));
rep(i, n) rep(j, m) cin >> a[i][j];
int id = 0;
vector pari(n, vector(n, 0));
rep(j, m) {
vector<vector<int>> v(1000); // max(A) = 1000
rep(i, n) v[a[i][j]].push_back(i);
rep(i, 1000) {
int sz = v[i].size();
if(sz >= B) {
for(int e : v[i]) bit[e].set(id);
id ++;
} else if(sz > 1) {
rep(x, sz) for(int y = x + 1; y < sz; y ++) {
pari[v[i][x]][v[i][y]] ^= 1;
}
}
}
}
int ans = 0;
rep(i, n) for(int j = i + 1; j < n; j ++) {
if(((bit[i] & bit[j]).count() & 1) ^ pari[i][j]) ans ++;
}
cout << ans << endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Oddly Similar |
| ユーザ | shinchan |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 550 |
| コード長 | 1214 Byte |
| 結果 | AC |
| 実行時間 | 590 ms |
| メモリ | 39000 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 550 / 550 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 02_maximum_00.txt, 02_maximum_01.txt, 02_maximum_02.txt, 02_maximum_03.txt, 02_maximum_04.txt, 02_maximum_05.txt, 02_maximum_06.txt, 02_maximum_07.txt, 02_maximum_08.txt, 02_maximum_09.txt, 02_maximum_10.txt, 02_maximum_11.txt, 02_maximum_12.txt, 02_maximum_13.txt, 02_maximum_14.txt, 02_maximum_15.txt, 02_maximum_16.txt, 02_maximum_17.txt, 02_maximum_18.txt, 02_maximum_19.txt, 02_maximum_20.txt, 02_maximum_21.txt, 02_maximum_22.txt, 02_maximum_23.txt, 02_maximum_24.txt, 02_maximum_25.txt, 02_maximum_26.txt, 02_maximum_27.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3396 KiB |
| 00_sample_01.txt | AC | 1 ms | 3548 KiB |
| 01_random_00.txt | AC | 32 ms | 5212 KiB |
| 01_random_01.txt | AC | 468 ms | 32392 KiB |
| 01_random_02.txt | AC | 26 ms | 5136 KiB |
| 01_random_03.txt | AC | 26 ms | 4656 KiB |
| 01_random_04.txt | AC | 351 ms | 24372 KiB |
| 01_random_05.txt | AC | 118 ms | 16212 KiB |
| 01_random_06.txt | AC | 16 ms | 4196 KiB |
| 01_random_07.txt | AC | 223 ms | 26056 KiB |
| 01_random_08.txt | AC | 106 ms | 15372 KiB |
| 01_random_09.txt | AC | 36 ms | 7252 KiB |
| 01_random_10.txt | AC | 209 ms | 15536 KiB |
| 01_random_11.txt | AC | 132 ms | 12232 KiB |
| 01_random_12.txt | AC | 133 ms | 10748 KiB |
| 01_random_13.txt | AC | 38 ms | 5244 KiB |
| 01_random_14.txt | AC | 22 ms | 4512 KiB |
| 01_random_15.txt | AC | 41 ms | 5364 KiB |
| 01_random_16.txt | AC | 16 ms | 4356 KiB |
| 01_random_17.txt | AC | 421 ms | 32788 KiB |
| 01_random_18.txt | AC | 34 ms | 5044 KiB |
| 01_random_19.txt | AC | 90 ms | 7884 KiB |
| 01_random_20.txt | AC | 37 ms | 7288 KiB |
| 01_random_21.txt | AC | 13 ms | 4164 KiB |
| 01_random_22.txt | AC | 113 ms | 15708 KiB |
| 02_maximum_00.txt | AC | 513 ms | 34984 KiB |
| 02_maximum_01.txt | AC | 504 ms | 35064 KiB |
| 02_maximum_02.txt | AC | 507 ms | 34976 KiB |
| 02_maximum_03.txt | AC | 510 ms | 34900 KiB |
| 02_maximum_04.txt | AC | 505 ms | 35020 KiB |
| 02_maximum_05.txt | AC | 363 ms | 38424 KiB |
| 02_maximum_06.txt | AC | 363 ms | 38424 KiB |
| 02_maximum_07.txt | AC | 352 ms | 38412 KiB |
| 02_maximum_08.txt | AC | 364 ms | 39000 KiB |
| 02_maximum_09.txt | AC | 362 ms | 38804 KiB |
| 02_maximum_10.txt | AC | 363 ms | 38460 KiB |
| 02_maximum_11.txt | AC | 361 ms | 38520 KiB |
| 02_maximum_12.txt | AC | 362 ms | 38500 KiB |
| 02_maximum_13.txt | AC | 365 ms | 38960 KiB |
| 02_maximum_14.txt | AC | 363 ms | 38344 KiB |
| 02_maximum_15.txt | AC | 365 ms | 38884 KiB |
| 02_maximum_16.txt | AC | 360 ms | 38944 KiB |
| 02_maximum_17.txt | AC | 354 ms | 38772 KiB |
| 02_maximum_18.txt | AC | 546 ms | 38816 KiB |
| 02_maximum_19.txt | AC | 554 ms | 38888 KiB |
| 02_maximum_20.txt | AC | 551 ms | 38972 KiB |
| 02_maximum_21.txt | AC | 509 ms | 34980 KiB |
| 02_maximum_22.txt | AC | 575 ms | 34876 KiB |
| 02_maximum_23.txt | AC | 590 ms | 38820 KiB |
| 02_maximum_24.txt | AC | 509 ms | 34880 KiB |
| 02_maximum_25.txt | AC | 540 ms | 34976 KiB |
| 02_maximum_26.txt | AC | 543 ms | 34920 KiB |
| 02_maximum_27.txt | AC | 553 ms | 38888 KiB |