比赛 cmath生日赛 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 迷妹 最终得分 100
用户昵称 CSU_Turkey 运行时间 2.449 s
代码语言 C++ 内存使用 15.57 MiB
提交时间 2017-06-13 19:31:03
显示代码纯文本
#include <iostream> 
#include <cstdio> 
#include <fstream> 
#include <algorithm> 
#include <cmath> 
#include <deque> 
#include <vector> 
#include <queue> 
#include <string> 
#include <cstring> 
#include <map> 
#include <stack> 
#include <set>
#define ghb great handsome boy;
using namespace std;
typedef long long ll;
typedef int itn;
const int max_n=1005,mmax_n=100005;
int n,q,a[mmax_n],h[mmax_n][4];
inline void read()
{
	scanf("%d%d",&n,&q);
	for(int i=1;i<=n;i++)
	{
	scanf("%d",&a[i]);
	h[i][0]=a[i];//cout<<h[i][0];
}
}
inline int qzh()
{read();
	for(int i=1;i<=n;i++)
	for(int j=1;j<=3;j++)
	h[i][j]=0;
	int xz=0,xh=0,xx=0;	
	for(int i=1;i<=n;i++)
	{
		if(h[i][0]==1){
		xz++;h[i][1]=xz;}
		if(h[i][0]==2){
		xh++;h[i][2]=xh;}
		if(h[i][0]==3){
		xx++;h[i][3]=xx;}
	}

	int t1=0,t2=0,t3=0;
	for(int i=1;i<=n;i++)
	{
		if(!h[i][1])h[i][1]=t1;
		else 
		t1=h[i][1];
		if(!h[i][2])h[i][2]=t2;
		else 
		t2=h[i][2];
		if(!h[i][3])h[i][3]=t3;
		else 
		t3=h[i][3];
	}
//	for(int i=1;i<=5;i++)
//	cout<<h[i][1]<<" "<<h[i][2]<<" "<<h[i][3]<<endl;
	    h[0][1]=0;
    h[0][2]=0;
    h[0][3]=0;
/*	for(int i=1;i<=n;i++)
	cout<<h[i][1]<<" ";
	for(int i=1;i<=n;i++)
	cout<<h[i][2]<<" ";
	for(int i=1;i<=n;i++)
	cout<<h[i][3]<<" ";*/
	for(int i=1;i<=q;i++)
	{
		int x,y;
		scanf("%d%d",&x,&y);
		cout<<h[y][1]-h[x-1][1]<<" "<<h[y][2]-h[x-1][2]<<" "<<h[y][3]-h[x-1][3]<<endl;
	}
}
int main()
{
	freopen("fans.in","r",stdin);
	freopen("fans.out","w",stdout);
    
    /*if(n<=1003)
    baoli();
    else*/
    qzh();
	return 0;
}