c++的话vector就好。
或者你可以用指针new,只不过这个很烦,而且容易错,而且忘记释放会内存泄露,而且没必要。
最推荐的还是竞赛式的,int a[100000],一般来说会实现给出数据大小的,不要觉得开的大浪费内存了,无所谓的,做题重要的是AC,是快。如果你有某种强迫症,就是不想浪费内存,你可以用N的大小初始化vector。比如vector<int> vec(N, 0); 就声明了一个大小为N的vector,所有元素都置为0。但是这个我还是不推荐。
总结,就以题目中给出的数据大小的最大值(多一点)直接声明数组:int a[MAX];
然后你还可以了解一下memset这种东西,头文件是<string.h>。
多写写就会了~