我不会前缀和,只能用朴素。
#include <cstdio>
using namespace std;
int main(){
int n,q,s,z,t[4]={0};
scanf("%d%d",&n,&q);
int a[n+1];
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
while(q--){
scanf("%d%d",&s,&z);
for(int i=s;i<=z;i++){
if(a[i]==1){
++t[1];
continue;
}if(a[i]==2){
++t[2];
continue;
}if(a[i]==3){
++t[3];
continue;
}
}
printf("%d %d %d\n",t[1],t[2],t[3]);
t[1]=0;
t[2]=0;
t[3]=0;
}
return 0;
}