编程题
### 问题描述 在魔法森林的深处,生活着一群可爱的小精灵。这些小精灵守护着森林的和谐与平衡,它们的力量源自于它们所拥有的宝石。 然而,最近魔法森林受到了一群恶魔的入侵。这些恶魔想要夺取小精灵的宝石,破坏森林的秩序。小精灵们需要尽快采取行动,保护宝石的安全。 小桥是一位勇敢的冒险者,她接到了小精灵们的求助。她决定进入魔法森林,帮助小精灵们拯救宝石并击退恶魔。 在森林的深处,小桥发现了一颗神秘的宝石。这颗宝石蕴含着巨大的魔力,但它的能量必须是 $3$ 的倍数才能发挥作用。小桥需要调整宝石的能量,使其达到 $3$ 的倍数。 小桥手中有一个长度为 $n$ 的能量序列 $a$,每个能量值都是正整数。她可以进行删除操作,从序列中删除任意一个能量值。她的目标是通过删除操作,使得剩下的能量值之和成为 $3$ 的倍数。如果能够实现目标,她需要知道最少需要进行多少次删除操作。如果无法实现目标,则输出 `-1`。 请帮助小桥计算最少需要进行的删除操作次数。 ### 输入格式 第一行输入一个整数 $n$($1\le n \le 10^5$),表示能量序列的长度。 第二行输入 $n$ 个整数 $a_i$($1\le a_i \le 10^9$),表示每个能量值。 ### 输出格式 输出仅一行,如果最后能使得剩下的能量值之和为 $3$ 的倍数,则输出最少需要进行的删除操作次数;否则输出 `-1`。 ### 样例输入 ``` 3 3 2 1 ``` ### 样例输出 ``` 0 ```
查看答案
赣ICP备20007335号-2