C0451 [CTSC2008Day2-A]图腾

内存限制:256 MB 时间限制:3000 ms

题目描述

在完成了古越州圆盘密码的研究之后,考古学家小布来到了南美大陆的西部。相传很久以前在这片土地上生活着两个部落,一个部落崇拜闪电,另一个部落崇拜高山,他们分别用闪电和山峰的形状作为各自部落的图腾。

小布的团队在山洞里发现了一幅巨大的壁画,壁画上被标记出了 $N$ 个点,经测量发现这 $N$ 个点的水平位置和竖直位置是两两不同的。小布认为这幅壁画所包含的信息仅与这 $N$ 个点的相对位置有关,因此不妨设坐标分别为 $(1, y_1) , (2, y_2), ..., (n, y_n)$,其中 $y_1$ ~ $y_n$ 是 $1$ ~ $N$ 的一个排列。

小布的团队打算研究在这幅壁画中包含着多少个图腾,其中闪电图腾的定义图示如下(图腾的形式只与 4 个纵坐标值的相对大小排列顺序有关):

屏幕快照 2019-06-28 下午3.14.36.png

崇拜高山的部落有两个氏族,因而山峰图腾有如下两种形式,左边为 A 类,右边为 B 类(同样,图腾的形式也都只与 4 个纵坐标值的大小排列顺序有关):

屏幕快照 2019-06-28 下午3.15.27.png

小布的团队希望知道,这 $N$ 个点中两个部落图腾数目的差值。因此在本题中,你需要帮助小布的团队编写一个程序,计算闪电图腾数目减去山峰图腾数目的值,由于该值可能绝对值较大,本题中只需输出该值对 $16777216$ 的余数(注意余数必为正值,例如 $-1$ 对 $16777216$ 的余数为 $16777215$)。

输入格式

第一行包含一个整数 $N$,为点的数目。

接下来一行包含 $N$ 个整数,分别为 $y_1, y_2, …, y_n$。保证 $y_1, y_2, …, y_n$ 是 $1$ ~ $N$ 的一个排列。

输出

仅包含一个数,表示闪电图腾数目与山峰图腾数目的差值对 $16777216$ 的余数。

样例

样例输入 1

5 1 5 3 2 4

样例输出 1

0

样例输入 2

4 1 2 4 3

样例输出 2

16777215

提示

【样例说明】

样例一中共有 1 个闪电图腾(1324)和 1 个 B 类山峰图腾(1532)。

样例二中仅有一个 A 类山峰图腾(1243),故差值为 -1,答案为 16777215。

【数据规模】

对于10%的数据,$N  ≤ 600$;

对于40%的数据,$N  ≤ 5000$;

对于100%的数据,$N ≤ 200000$。