#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;
}
dsa 位查询
最新推荐文章于 2014-03-10 13:36:20 发布