#P8447. 「FAOI-R1」完美的平方数 (C)

    ID: 7403 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>动态规划,dp数学交互题Special JudgeO2优化背包

「FAOI-R1」完美的平方数 (C)

题目描述

给定一个正整数 mm。现有 QQ 个询问,每个询问给定一个正整数 nn,要求你从 1,4,9,16,,m21,4,9,16,\ldots,m^2 中取出若干个数(同一个数可以取出多次),使它们的和恰好nn。问最少取出多少个数?(如果无解,则输出 1-1

输入格式

本题有多组数据。

第一行,一个正整数 TT,代表数据组数。

对于每组数据:

第一行,两个正整数 m,Qm,Q

下面 QQ 行,每行一个正整数 nn

输出格式

对于每组数据的每个询问,输出一行一个正整数,表示答案。

5
1 5
1
2
3
4
5
5 5
8
20
25
37
49
11 1
179
13 1
507
19 1
841
1
2
3
4
5
2
2
1
4
4
3
3
4

提示

样例解释:

对于第一组数据,显然答案是 nn,因为你只能取 11

对于第二组数据:

  • 8=22+228=2^2+2^2
  • 20=42+2220=4^2+2^2
  • 25=5225=5^2
  • 37=52+22+22+2237=5^2+2^2+2^2+2^2;(或 37=42+42+22+1237=4^2+4^2+2^2+1^2
  • 49=52+42+22+2249=5^2+4^2+2^2+2^2;(或 49=42+42+42+1249=4^2+4^2+4^2+1^2
  • 请注意,37=62+1237=6^2+1^249=7249=7^2 都不是合法的方案,因为该数据中 m=5m=5

本题采用捆绑测试。

Subtask 编号 mm\le nn \le 分值
00 3030 10410^4 4040
11 101810^{18} 3030
22 500500

对于 100%100\% 的数据,1T301 \le T \le 301Q1041 \le Q \le 10^41m5001 \le m \le 5001n10181 \le n \le 10^{18},单个测试点中所有数据的 mm 的和(m\sum m)满足 1m5001 \le \sum m \le 500