比赛 |
20190521热身赛 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
迷妹 |
最终得分 |
100 |
用户昵称 |
海阔天空 |
运行时间 |
0.609 s |
代码语言 |
C++ |
内存使用 |
15.95 MiB |
提交时间 |
2019-05-21 19:27:03 |
显示代码纯文本
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <vector>
#define int long long
using namespace std;
inline int read(){
int x=0,w=1;
char ch=getchar();
for(;ch>'9'||ch<'0';ch=getchar()) if(ch=='-') w=-1;
for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0';
return x*w;
}
const int maxn=100005;
// vector<int> fans[maxn];
int q,n;
int a[maxn],b[maxn],c[maxn];
int ans1,ans2,ans3;
signed main(){
freopen("fans.in","r",stdin);
freopen("fans.out","w",stdout);
n=read(),q=read();
for(int i=1;i<=n;i++){
int x;
x=read();
// fans[1].push_back(x);
if(x==1) a[i]=a[i-1]+1,b[i]=b[i-1],c[i]=c[i-1];
else if(x==2) b[i]=b[i-1]+1,a[i]=a[i-1],c[i]=c[i-1];
else if(x==3) c[i]=c[i-1]+1,a[i]=a[i-1],b[i]=b[i-1];
}
for(int i=1;i<=q;i++){
int l,r;
l=read(),r=read();
ans1=a[r]-a[l-1];
ans2=b[r]-b[l-1];
ans3=c[r]-c[l-1];
cout<<ans1<<" "<<ans2<<" "<<ans3<<'\n';
}
return 0;
}
/*
6 3
2
1
1
3
2
1
1 6
3 3
2 4
*/