#include<stdio.h>
int main(){
scanf("%d",&Testcase)
while(Testcase--){
int a[100000] = {0};
/* Other statements */
}
}
在上面的程序中,对于每个 Testcase,程序分配 100000*sizeof(int) 字节的内存。但在 codechef 中,我们可以使用的最大内存约为 10 MB。那么,有没有什么优化的方法来减少内存使用呢?
PS我尝试将其声明为全局变量。但问题是,在每个测试用例之后,旧的测试用例值会干扰新的测试用例值。
另外,我尝试在每个测试用例之后使用 for 循环重新初始化整个数组,值为 0。但这需要很长时间,超过了 3 秒的时间要求。
我要解决的问题是http://www.codechef.com/MARCH13/problems/FIRESC
编辑:允许的总内存限制实际上约为 10 MB