On Thu, May 12, 2011 at 2:20 PM, shubham <[email protected]> wrote:
> Hi there, > when I executed the Candy-Splitting problem for the large dataset > during the contest, i got segmentation fault. > After enquiring i found out that the fault occured during the input. I > had used vector<int> for the input. Why did > push_back() function generated the segmentation fault? > > any guesses?? > I think the problem is somewhere else. std::vector performs full memory management in push_back, so a segfault should not happen here. I only could imagine the segfault when you're out of memory -- then push_back will fail to allocate the new memory and depending on your implementation/compiler/operation system a segfault might happen: (normally a exception should be thrown, but maybe your C++implementation does not check here? Or if you use e.g. the overcommit-feature of Linux (allows the Kernel to allocate more memory than is physically available), a segfault can appear when you use this memory...) You could try to call reserve() befor reading the file -- then the memory allocation is done at the beginning... Axel -- You received this message because you are subscribed to the Google Groups "google-codejam" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-code?hl=en.
