比赛 |
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
*/