CF870C.Maximum splitting
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given several queries. In the i-th query you are given a single positive integer n__i. You are to represent n__i as a sum of maximum possible number of composite summands and print this maximum number, or print -1, if there are no such splittings.
An integer greater than 1 is composite, if it is not prime, i.e. if it has positive divisors not equal to 1 and the integer itself.
你将收到若干查询。在第 i 个查询中,你会得到一个正整数 ni。你需要将 ni 表示为尽可能多的合数之和,并输出这个最大数量;如果不存在这样的拆分,则输出 −1。
大于 1 的整数称为合数,当且仅当它不是质数,即它存在不等于 1 和其自身的正因数。
输入格式
The first line contains single integer q (1 ≤ q ≤ 105) — the number of queries.
q lines follow. The (i + 1)-th line contains single integer n__i (1 ≤ n__i ≤ 109) — the i-th query.
第一行包含一个整数 q(1≤q≤105)—— 查询的个数。
接下来有 q 行。第 (i+1) 行包含一个整数 ni(1≤ni≤109)—— 第 i 个查询。
输出格式
For each query print the maximum possible number of summands in a valid splitting to composite summands, or -1, if there are no such splittings.
对于每个查询,输出在合法的合数拆分中最多可能的加数个数;若不存在这样的拆分,则输出 −1。
输入输出样例
输入#1
1 12
输出#1
3
输入#2
2 6 8
输出#2
1 2
输入#3
3 1 2 3
输出#3
-1 -1 -1
说明/提示
12 = 4 + 4 + 4 = 4 + 8 = 6 + 6 = 12, but the first splitting has the maximum possible number of summands.
8 = 4 + 4, 6 can't be split into several composite summands.
1, 2, 3 are less than any composite number, so they do not have valid splittings.
12 = 4 + 4 + 4 = 4 + 8 = 6 + 6 = 12,但第一种拆分方式具有最多可能的加数个数。
8 = 4 + 4,而 6 无法被拆分为若干个合数之和。
1、2、3 均小于任意合数,因此它们均不存在有效的拆分。
输入解题思路,AI测评打分。不知道怎么写?