6806: 认识内存超限&运行错误

内存限制:10 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:424 解决:87

题目描述

给出 $n-1$ 个正整数,且这些数字在区间 $[1,n]$ 内并且各不相同。
请你找出在区间 $[1,n]$ 内且题目未给出的正整数。
请注意,本题的内存限制为10MB

输入

输入共2行。
输入第一行,一个整数 $n$. $(1\leq n \leq 10^7)$
输入第二行,$n-1$ 个正整数 $a_i$ ,满足$(1\leq a_i\leq n)$ ,且互不相同。
本题请使用scanf读取输入的数字,使用cin输入大量的数字会得到时间超限。

输出

输出一个正整数,代表未出现的数字

样例输入 复制

5
3 4 1 5

样例输出 复制

2

提示

如果您遇到了内存超限,那么可能的问题如下:
请不要在本题中调用长度为$10^7$ 的数组。本题内存限制为 $10 MB$ ,大约支持 $10^6$ 级别的数组大小。
您应该使用求和公式,处理出总和,并将其他数字的和减去,找到未出现的数字。
*正式赛中的题目内存不会如此限制,且均为 $128 MB$,大约支持 $10^7$ 级别的数组大小。
如果您遇到了运行错误,那么可能的问题如下:
1.申请的数组过大,有时候会报为运行错误。
2.数组访问的下标超出数组的最大下标。
而在其他场合,运行错误还有可能有以下几种情况,请同学们知悉:
3.递归函数的层数大于32768,可能会得到运行错误。
4.C\C++\Java中,不是void类型的函数必须要有return 值,否则会可能得到运行错误。
5.在除法运算中,除数不能为0,否则可能会得到运行错误。
6.如果使用 C 或 C++ 语言要保证 int main 函数最终 return 0,否则会可能得到运行错误。
7.Python 语言运行时抛出异常,否则会可能得到运行错误。