关注
第二题
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
typedef long long LL;
const int N = 1 << 17;
LL a[N];
int main(){
int n, m, x;
while(scanf("%d%d",&n,&m)!=EOF) {
for (int i = 1; i <= n; i++) {
scanf("%d", &x);
a[x]++;
}
for (int i = 0; i < N; i++) {
a[i] = a[i] * 2;
}
for(int i = 1; i < N; i <<=1) {
for(int j = 0; j < N; j +=(i<<1)) {
for (int k = 0; k < i; k++) {
LL x0 = a[j + k];
LL x1 = a[i + j + k];
a[j + k] = x0 - x1;
a[i + j + k] = x0 + x1;
}
}
}
for (int i = 0; i < N; i++) {
a[i] = a[i] * a[i];
}
for(int i = 1; i < N; i <<=1) {
for(int j = 0; j < N; j +=(i<<1)) {
for (int k = 0; k < i; k++) {
LL x0 = a[j + k];
LL x1 = a[i + j + k];
a[j + k] = (x0 + x1) / 2;
a[i + j + k] = (x1 - x0) / 2;
}
}
}
LL ans=0;
for (int i = m + 1; i < N; i++) {
ans +=a[i]/8;
}
printf("%lld\n", ans);
}
return 0;
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客树洞,我想对你说 #
12277次浏览 106人参与
# 大学最后一个寒假,我想…… #
54473次浏览 599人参与
# 快手技术岗信息交流阵地 #
5437次浏览 47人参与
# 怎么给家人解释你的工作? #
13582次浏览 80人参与
# 如何KTV领导 #
73309次浏览 505人参与
# 你的mentor是什么样的人? #
17840次浏览 117人参与
# 牛客周边新品开箱 #
11008次浏览 91人参与
# 机械人集合!你是什么工程师? #
20513次浏览 91人参与
# 硬件人的春招flag #
52279次浏览 435人参与
# 应届生被毁约被毁意向了怎么办 #
46945次浏览 280人参与
# 求职中的尴尬瞬间 #
5398次浏览 49人参与
# 牛友的志愿填报指南 #
35632次浏览 188人参与
# 三一集团提前批进度交流 #
38952次浏览 225人参与
# 大疆工作体验 #
19353次浏览 85人参与
# 机械人避雷的岗位/公司 #
28977次浏览 245人参与
# 国企还是互联网,你怎么选? #
171474次浏览 1298人参与
# 得物app工作体验 #
29121次浏览 68人参与
# 帮我看看,领导说这话什么意思? #
23579次浏览 104人参与
# 校招泡的最久的公司是哪家? #
14440次浏览 89人参与
# 26届秋招公司红黑榜 #
30554次浏览 124人参与
# 今年形式下双非本找得到工作吗 #
238654次浏览 1434人参与
