如若输入的数据量过大还能用数组来存储么

如果输入的数据量过大还能用数组来存储么?
有一题是这样的 输入的数据形式如下:
第一行为n        0<n<200000
后面为n个整数 





问题在于n有可能有20万个 那么能申请一个20w个元素的数组么?
因为默认的栈大小是1M所以数组上限应该是1024*1024/单个元素大小吧?


那么这种题应该用什么方法存储输入的数据?
------解决思路----------------------
队列不是好方法。那么大的东西得用 std::map来存储了。
因为数组是连续内存空间,不能存在间隔。所以首先申请20W个元素都是一个问题。
不适用链表是因为链表查询效率慢。
使用map来存储因为map使用树结构,而且设置一个KEY值查找速度也比链表快。
------解决思路----------------------
你可以malloc
------解决思路----------------------
用 malloc 存在堆上就行了。
------解决思路----------------------
1M是100 W
20W int 也才 0.80M
在栈上 也勉强可以的
不过在静态区,或者堆上更好