2155: 魔法阵(magic)2016 NOIP J4

Memory Limit:512 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

六十年一次的魔法战争就要开始了,大魔法师准备从附近的魔法场中汲取魔法能 量。

大魔法师有m个魔法物品,编号分别为1, 2,...,m 每个物品具有一个魔法值,我 们用xi表示编号为i的物品的魔法值。每个魔法值xi是不超过n的正整数,可能有多 个物品的魔法值相同。

大魔法师认为,当且仅当四个编号为a bc d的魔法物品满足xa < xb < xC < xd , xb - xa = 2(xd - xc,并且xb - xa < xc - xb÷ 3时,这四个魔法物品形成了 一个魔法阵, 他称这四个魔法物品分别为这个魔法阵的A物品,B物品,C物品,D物品。

现在,大魔法师想要知道,对于每个魔法物品,作为某个魔法阵的A物品出现的 次数,作为B物品的次数,作为C物品的次数,和作为D物品的次数。

Input

输入文件的第一行包含两个空格隔开的正整数nm

接下来m行,每行一个正整数,第/ + 1行的正整数表示Xz,即编号为/的物品的 魔法值。

保证1  n  15000, 1  m  40000, 1  xi  n -每个xi是分别在合法范围内等概率 随机生成的。

Output


共输出m行,每行四个整数。第i行的四个整数依次表示编号为i的物品作 A,B,C,D物品分别出现的次数。

保证标准输出中的每个数都不会超过109

每行相邻的两个数之间用恰好一个空格隔开。

Sample Input Copy

30 8
1
24
7
28
5
29
26
24

Sample Output Copy

4 0 0 0
0 0 1 0
0 2 0 0
0 0 1 1
1 3 0 0
0 0 0 2
0 0 2 2
0 0 1 0

HINT

【样例1说明】

共有5个魔法阵,分别为:

物品1, 3, 7, 6 ,其魔法值分别为1, 7, 26,29

物品1, 5, 2, 7 ,其魔法值分别为1, 5, 24, 26

物品1, 5, 7, 4 ,其魔法值分别为1, 5, 26, 28

物品1, 5, 8, 7 ,其魔法值分别为1, 5, 24, 26

物品5, 3, 4, 6 ,其魔法值分别为5, 7, 28, 29

以物品5为例,它作为A物品出现了 1次,作为B物品出现了 3次,没有作为C 品或者D物品出现,所以这一行输出的四个数依次为1,3,0,0

此外,如果我们将输出看作一个m4列的矩阵,那么每一列上的m个数之和都 应等于魔法阵的总数。所以,如果你的输出不满足这个性质,那么这个输出一定不正 确。你可以通过这个性质在一定程度上检查你的输出的正确性。


【样例2输入】

15 15

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

【样例2输出】

5 0 0 0

4 0 0 0

3 5 0 0

2 4 0 0

1 3 0 0

0 2 0 0

0 1 0 0

0 0 0 0

0 0 0 0

0 0 1 0

0 0 2 1

0 0 3 2

0 0 4 3

0 0 5 4

0 0 0 5

【子任务】

每个测试点的详细数据范围见下表。

测试点编号

n

m

1

=10

= 12

2

=15

= 18

3

=20

= 25

4

=30

= 35

5

=40

= 50

6

=50

= 70

7

=65

= 100

8

=80

= 125

9

=100

= 150

10

=125

= 200

11

=150

= 250

12

=200

= 350

13

=250

= 500

14

=350

= 700

15

=500

= 1000

16

=700

= 2000

17

=1000

= 5000

18

=2000

= 10000

19

=5000

= 20000

20

=15000

= 40000


 


Source/Category