3

我正在解决这个问题。它需要 50000bytes 的内存限制。因此,如果我分配一个大小为 1000 X 1000 的 int 二维数组,它不应该超过内存边界吗?

PS:我看到了这个问题的解决方案,程序员分配了一个大小为 m X m 的二维数组。如果 m 等于 1000,那么我认为会超出内存限制。但是 codechef 已经接受了他的解决方案。

codechef 编译器的机制有问题还是我遗漏了什么?

4

2 回答 2

3

从网站:

源限制:50000 字节

此限制适用于源代码的大小,而不适用于程序分配的内存量。两者完全无关。

于 2013-03-02T09:47:17.507 回答
0

50000 字节是您的源代码可以拥有的最大大小,它与您的程序使用的内存完全无关。大小为 1000*1000 的二维数组将从 RAM(主存储器)分配给您的程序。

顺便说一句,在 cadechef 上,单个数组的最大大小限制在 10^7 到 10^8 左右,因为很难分配连续的内存位置。

您可以参考关于 codechef 的讨论以获取更多详细信息。

于 2014-12-02T12:40:53.473 回答