题目名称 3936. Divide
输入输出 divide.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatarop_组撒头屯 于2023-11-03加入
开放分组 全部用户
提交状态
分类标签
动态规划 构造
分享题解
通过:0, 提交:0, 通过率:0%
关于 Divide 的近10条评论(全部评论)

3936. Divide

★★☆   输入文件:divide.in   输出文件:divide.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

「第一,生存是文明的第一需要;第二,文明不断增长和扩张,但宇宙中的物质总量保持不变。——叶文洁危机纪元 205 年。」

经历过惨绝人寰的大低谷后,人类,又一次站了起来,全面解放实现技术暴涨,进入全息社会阶段,并建立起了庞大的宇宙舰队。

今天对于三大舰队而言,又是一如既往的军事演练。

【题目描述】

共有 $n$ 艘飞船参与演练,每艘飞船都有一个武力值 $w_i$。

你需要把它们分成两队:A 队与 B 队,每队飞船数目任意。

我们发现,如果两艘飞船 $i$ 与 $j$ 的武力值相加不小于 $m$ 且不在同一队,那么这两艘飞船就能配合默契。

请问最多能有多少对飞船配合默契,同时还需算出有多少种分队方案可以达到此效果。

【输入格式】

第一行两个正整数 $n, m$。

第二行 $n$ 个自然数,第 $i$ 个表示 $w_i$。

【输出格式】

一行两个整数,用空格隔开,分别表示最多的配合默契对数与可以达到此效果的方案数,方案数对 $10^9 + 7$ 取模。

【样例输入】

2 10
5 5

【样例输出】

1 2

【数据规模与约定】

对于全部数据,$n \leq 2000, m \leq 2×10^6, w_i \leq 10^6$。 

·存在 $30 \%$ 的数据满足 $n \leq 18$

·另有 $20 \%$ 的数据满足 $w_i$ 排序后是等差数列