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