dsa 位查询

来源:互联网 发布:添加用户 linux 编辑:程序博客网 时间:2024/06/16 22:16
#include<iostream>#include<stdio.h>using namespace std;const int MAXN = 100000;const int MAXM = 200000;unsigned short digit[MAXN];int m,n,para;char order;int main(){//freopen("1.txt","r",stdin);scanf("%d%d",&n,&m);int i =0,j,sum;while(i < n){scanf("%hu",&digit[i]);++i;}i = 0;while(i < m){cin >> order;scanf("%d",¶);switch(order){case('Q'):j = 0;sum = 0;while(j < n){sum +=((digit[j] >> para)&1);++j;}printf("%d\n",sum);break;default:j = 0;while(j < n){digit[j] += para;++j;}}++i;}return 0;}