「Daily OI Round 3」Pigeon
题目背景
最近,忙吗,也不说打个电话。哦,是吗,嘿嘿原来没给过你号码。但这,不是,你不找我的理由,下次罚你陪我等到太阳出头。——recollect_i 的博客
题目描述
recollect_i 给了你长度为 n n n 的序列 x x x,你需要求出一个实数 y y y 使得对于所有 1 ≤ i < j ≤ n 1\leq i<j\leq n 1≤i<j≤n, ∣ x j − y ∣ > ∣ x i − y ∣ \vert x_j-y\vert>\vert x_i-y\vert ∣xj−y∣>∣xi−y∣,或报告无解。
输入格式
第一行一个整数 n n n,表示序列长度。
第二行 n n n 个整数 x x x,表示序列。
输出格式
如果有解,第一行输出字符串 lovely
,第二行输出一个实数
y
y
y。
为了避免精度问题,如果您输出的方案满足对于所有 $ 1\leq i<j\leq n , , ,\vert x_j-y\vert-\vert x_i-y\vert>10^{-6}$,则认为您的答案正确。
同时您需要保证 − 2 × 1 0 9 ≤ y ≤ 2 × 1 0 9 -2\times 10^9\leq y\leq 2\times 10^9 −2×109≤y≤2×109,且 y y y 的小数点后不超过 10 10 10 位,否则无法保证评测的正确性。
如果无解,一行输出字符串 pigeon
。
样例 #1
样例输入 #1
5
1 2 3 4 5
样例输出 #1
lovely
-114514
样例 #2
样例输入 #2
5
3 2 1 6 7
样例输出 #2
lovely
3.1416
样例 #3
样例输入 #3
5
3 2 1 4 5
样例输出 #3
pigeon
提示
【提示】
输出格式中 > 1 0 − 6 >10^{-6} >10−6 只是为了避免精度问题,您可以当成要求 ∣ x j − y ∣ > ∣ x i − y ∣ \vert x_j-y\vert>\vert x_i-y\vert ∣xj−y∣>∣xi−y∣。
可以证明,如果有解,则一定存在 y y y 满足 − 2 × 1 0 9 ≤ y ≤ 2 × 1 0 9 -2\times 10^{9}\leq y\leq2\times 10^{9} −2×109≤y≤2×109 且对于所有 1 ≤ i < j ≤ n 1\leq i<j\leq n 1≤i<j≤n, ∣ x j − y ∣ − ∣ x i − y ∣ > 0.2 \vert x_j-y\vert-\vert x_i-y\vert>0.2 ∣xj−y∣−∣xi−y∣>0.2,且小数点后位数不超过 3 3 3。
【数据范围】
对于全部数据保证: 5 ≤ n ≤ 1 0 5 5\leq n\leq10^5 5≤n≤105, − 1 0 9 ≤ x i ≤ 1 0 9 -10^9\leq x_i\leq10^9 −109≤xi≤109。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容