比赛 20190521热身赛 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 迷妹 最终得分 100
用户昵称 欧鹰 运行时间 0.492 s
代码语言 C++ 内存使用 15.18 MiB
提交时间 2019-05-21 20:02:36
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int read() {
	int w=1,x=0,ch=getchar();
	for(; ch<'0'||ch>'9'; ch=getchar())if(ch=='-')w=-1;
	for(; ch>='0'&&ch<='9'; ch=getchar())x=x*10+ch-'0';
	return x*w;
}
const int MAXN = 100000;
int n,Q;
int sum[MAXN][4];
int main() {
	freopen("fans.in","r",stdin);
	freopen("fans.out","w",stdout);
	n=read();
	Q=read();
	for(int i=1; i<=n; i++) {
		int x=read();
		if(x==1) {
			sum[i][1]=sum[i-1][1]+1;
			sum[i][2]=sum[i-1][2];
			sum[i][3]=sum[i-1][3];
		} else if(x==2) {
			sum[i][1]=sum[i-1][1];
			sum[i][2]=sum[i-1][2]+1;
			sum[i][3]=sum[i-1][3];
		} else if(x==3) {
			sum[i][1]=sum[i-1][1];
			sum[i][2]=sum[i-1][2];
			sum[i][3]=sum[i-1][3]+1;
		}
	}
	while(Q--) {
		int l=read(),r=read();
		printf("%d %d %d\n",sum[r][1]-sum[l-1][1],sum[r][2]-sum[l-1][2],sum[r][3]-sum[l-1][3]);
	}
	return 0;
}
/*
in:
6 3
2
1
1
3
2
1
1 6
3 3
2 4
out:
3 2 1
1 0 0
2 0 1
*/