NOIP_PJT4:魔法阵

哈喽各位观众朋友们,小酱和大家又见面啦…
上期有同学在后台给我留言说:…
在这里插入图片描述
我懵了,我打成第四题啦??
好像还真是…
不好意思,我真打错了!
诚挚地向这位@weixin_46105182同学表示由衷的感谢!不过今天是真正的第四题啦~
题目描述
(本题目为2016NOIP普及组T4)

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

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

大魔法师认为,当且仅当四个编号为 a,b,c,d 的魔法物品满足 Xa< Xb< Xc< Xd,Xb-Xa=2(Xd-Xc),并且 Xb-Xa<(Xc-Xb)/3 时,这四个魔法物品形成了一个魔法阵,他称这四个魔法物品分别为这个魔法阵的 A 物品,B 物品,C 物品,D 物品。

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

输入
第一行包含两个空格隔开的正整数 n 和 m。

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

输出
共输出 m 行,每行四个整数。

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

样例输入
30 8
1
24
7
28
5
29
26
24
样例输出
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
提示
【数据范围】
1<=n<=15000,1<=m<=40000
枚举上场!


#include<iostream>
#include<cstdio>
#define MAXN 50010
using namespace std;
int n,m;
int a[MAXN],b[MAXN],c[MAXN],d[MAXN];
int x
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值