#1091. 编码问题

    ID: 1091 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>NOIPNOIP全国联赛普及组-1995年NOIP全国联赛提高组-1995年

编码问题

题目描述

本题为普及组T4,提高组T1。

设有一个数组A:ARRAY[0..N-1] OF INTEGER;数组中存放的元素为0~N-1之间的整数,且A[i]≠A[j](当i≠j时)。

例如:N=6时,有:A=(4,3,0,5,1,2)

此时,数组A的编码定义如下:

A[0]的编码为0;

A[i]的编码为:在A[0],A[1],……A[i-1]中比A[i]的值小的个数(i=1,2……N-1)

∴上面数组A的编码为:B=(0,0,0,3,1,2)

程序要求解决以下问题:

① 给出数组A后,求出其编码;

② 给出数组A的编码后,求出A中的原数据。

输入格式

输入共一行,第一个数为数组长度N,接下来N个数中的第i个代表数组的第i个元素(若为问题②则表示第i个元素的编码),最后一个数为0表示本数据为问题①,为1表示本数据为问题②。

输出格式

输出共一行,输出题目要求的编码或数组,数据之间用空格分隔。

输入样例

6 4 3 0 5 1 2 0

输出样例

0 0 0 3 1 2