結果
| 問題 | No.3431 popcount & sum (Easy) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-01-12 22:27:06 |
| 言語 | C++17 (gcc 15.2.0 + boost 1.90.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,002 bytes |
| 記録 | |
| コンパイル時間 | 1,072 ms |
| コンパイル使用メモリ | 214,280 KB |
| 実行使用メモリ | 7,344 KB |
| 最終ジャッジ日時 | 2026-07-20 09:23:58 |
| 合計ジャッジ時間 | 2,205 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 3 WA * 6 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
// 定数 (hằng số modulo)
const long long もど = 998244353;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int にゅうりょく_n;
cin >> にゅうりょく_n;
// 各数の1ビットの個数を保存する配列
vector<int> ビットのかず(にゅうりょく_n + 1);
for(int すう = 0; すう <= にゅうりょく_n; すう++){
ビットのかず[すう] = __builtin_popcount(すう);
}
long long こたえ = 0;
// すべての(a,b)ペアを調べる
for(int a = 0; a <= にゅうりょく_n; a++){
for(int b = 0; b <= にゅうりょく_n; b++){
// p(a) == p(b) のときだけ加算
if(ビットのかず[a] == ビットのかず[b]){
こたえ += (a & b);
if(こたえ >= もど) こたえ -= もど;
}
}
}
// 結果を出力
cout << こたえ % もど;
return 0;
}