#B4489. [语言月赛 202602] 树枝收集

[语言月赛 202602] 树枝收集

题目描述

小鸟正在森林里寻找合适的树枝。

现在有 nn 根长度分别为 a1,a2,,ana_1,a_2,\cdots,a_n 的树枝。小鸟目前已经有两根长度分别为 x,yx,y 的树枝,她希望再找到一根树枝,使得这三根树枝中,某两根的 长度之和长度之积 恰好为另一根的长度。

请你告诉她,在这 nn 根树枝中,有几根可以满足她的要求?这些满足要求的树枝中,最长的那一根有多长?

输入格式

第一行为三个正整数 n,x,yn,x,y,用半角空格隔开。

第二行为 nn 个正整数 a1,a2,,ana_1,a_2,\cdots,a_n,用半角空格隔开。

输出格式

一行两个正整数,用半角空格隔开,分别表示满足要求的树枝数量,和满足要求的树枝中最长的长度。

保证存在至少一根树枝满足条件。

5 3 5
7 9 1 3 8
1 8
5 2 6
4 3 3 3 4
5 4
10 1 1
1 1 2 3 5 8 13 21 34 55
3 2

提示

样例解释

对于样例 1,给出的树枝中,只有长度为 88 的树枝满足条件,因为有 3+5=83+5=8

对于样例 2,依次判断每种长度的树枝:

  • 44:因为 2+4=62+4=6,所以满足条件。
  • 33:因为 2×3=62\times3=6,所以满足条件。

因此所有的树枝都符合要求,且最长的为 44

数据范围

对于 30%30\% 的数据,保证 x=yx=y

对于另外 20%20\% 的数据,保证 a1=a2==ana_1=a_2=\cdots=a_n

对于 100%100\% 的数据,保证 1n,x,y,ai10001\le n,x,y,a_i\le 1000,且存在至少一根树枝满足条件。