結果

問題 No.641 Team Contest Estimation
ユーザー Pachicobue
提出日時 2018-01-27 06:34:25
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,935 bytes
コンパイル時間 2,145 ms
コンパイル使用メモリ 194,712 KB
最終ジャッジ日時 2025-01-05 08:00:53
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 2 WA * 7
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <bits/stdc++.h>
#define VARNAME(x) #x
#define show(x) cerr << #x << " = " << x << endl
using namespace std;
using ll = long long;
using ld = long double;
template <typename T>
vector<T> Vec(int n, T v)
{
return vector<T>(n, v);
}
template <class... Args>
auto Vec(int n, Args... args)
{
auto val = Vec(args...);
return vector<decltype(val)>(n, move(val));
}
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& v)
{
os << "sz:" << v.size() << "\n[";
for (const auto& p : v) {
os << p << ",";
}
os << "]\n";
return os;
}
template <typename S, typename T>
ostream& operator<<(ostream& os, const pair<S, T>& p)
{
os << "(" << p.first << "," << p.second
<< ")";
return os;
}
constexpr ll MOD = (ll)1e9 + 7LL;
constexpr ld PI = static_cast<ld>(3.1415926535898);
template <typename T>
constexpr T INF = numeric_limits<T>::max() / 10;
ll power(const ll p, const ll n)
{
if (n == 0) {
return 1;
}
if (n % 2 == 1) {
return (power(p, n - 1) * p) % MOD;
} else {
const ll pp = power(p, n / 2);
return (pp * pp) % MOD;
}
}
ll power2(const ll n)
{
return power(2, n);
}
int main()
{
cin.tie(0);
ios::sync_with_stdio(false);
int N, K;
cin >> N >> K;
const ll sum = (N * (power(2, K - 1) * ((power(2, K) + MOD - 1) % MOD))) % MOD;
cout << sum << endl;
vector<bitset<60>> A(N);
for (int i = 0; i < N; i++) {
ll a;
cin >> a;
A[i] = bitset<60>(a);
}
ll var = 0;
for (int i = 0; i < K; i++) {
int one = 0;
for (int j = 0; j < N; j++) {
if (A[j][i]) {
one++;
}
}
const ll factor = power2(2 * K - 2 + 2 * i);
const ll v_4 = (N - 2 * one) * (N - 2 * one);
var += (v_4 * factor) % MOD;
var %=MOD;
}
cout << var << endl;
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0