Problem 4165 --魔法序列

4165: 魔法序列

"
Time Limit $1$ 秒/Second(s) Memory Limit $128$ 兆字节/Megabyte(s)
提交总数 $0$ 正确数量 $13$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签

【背景描述】 

在魔法学院的实验室里,小红发现了一组蕴含着不同魔法能量的水晶球。每个水晶球的初始能量值为一个整数。作为高阶魔法学徒,她掌握了一种特殊的能量转移咒语:

【咒语规则】

  1. 每次施法可以选择任意两个水晶球

  2. 将一个水晶球的能量值+1,同时另一个水晶球的能量值-1

  3. 可以施展任意次数(包括零次)

【实验目标】

  1. 判断是否可以将所有水晶球的能量值调整为一个完美的"魔法序列"

  2. 如果可以,求出所需的最少施法次数

【魔法序列定义】

  • 由n个水晶球组成的完美序列必须包含  1 到 n 的每个整数各出现一次 (即长度为 n  的一个排列)

  • 例如:对于3个水晶球,{2,3,1}和{1,2,3}  都是完美序列,但 {1,2,2}和 {1,3,4}都不是

  • 第一行:一个整数 n (1<=n<=105),表示水晶球数量

  • 第二行: n个整数a1,a2,a3...,an(-109<=ai<=109),表示每个水晶球的初始能量值

  • 如果无法形成完美序列,输出-1

  • 如果可以形成,输出最少需要的施法次数

4
0 3 4 3
1

在这个样例中,其中一种操作方式是同时将第1个元素加 1 、第4个元素减 1,得到 {1,3,4,2},这是一个合法的排列。操作方案不唯一


推荐代码 查看4165 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$10 $ms] 沈义国 1192856 2025-04-19 16:08:15
内存最少[$2484 $KB] 汪秋旻 1193377 2025-04-19 16:41:33
第一AC thisislike 1190670 2025-04-17 11:05:02
第一挑战 AOJ大管家 1190659 2025-04-17 10:18:52

赛题来源/所属竞赛 N/A

竞赛编号 竞赛名称 竞赛时间 访问比赛
1863 2025"图灵杯"安徽科技学院第13届程序设计竞赛正式赛 2025-04-19 14:30:00 请登录