排列游戏
测试数据来自 system/2896
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
时间限制:0.5秒 内存限制:256M
【题目描述】
因为课堂无聊至极,因此小何和小周在课堂上玩起了恢复排列的游戏!
小周先在草稿纸上写下 \(1..n(1≤n≤1000)\) 的一个排列 \(p_1,p_2,…,p_n\),然后告诉小何另一个序列 \(q_1,q_2,…,q_{n-1}\),对于每一个 \(i\) 满足 \(q_i=p_i+p_{i+1}(1≤i<n)\)。
基于小周的信息,小何必须恢复满足序列 \(q\) 的“字典序最小”的排列 \(p\)。排列 \(a\) 字典序小于排列 \(b\),如果对于某个 \(k\),对于所有 \(i<k\) 均有 \(a_i=b_i\),且 \(a_k<b_k\),换句话说,这两个排列到某个位置之前都相同,在这个位置上 \(a\) 小于 \(b\)。
【输入格式】
输入的第一行包含一个整数 \(n\)。
第二行包含 \(n−1\) 个空格分隔的整数:\(q_1,q_2,…,q_{n-1}\)。
【输出格式】
输出一行,包含 \(n\) 个空格分隔的整数 \(p_1 ,p_2 ,…,p_n\) 。
【输入输出样例】
Input
6
5 6 8 5 8
Output
4 1 5 3 2 6
【测试点性质】
测试点 \(2−4\) 满足 \(n≤8\)。
测试点 \(5−10\) 没有额外限制。
【来源】
Mr.he