85
edits
Changes
→Sudoku Puzzle Solver by Gurpreet Singh
= Project Name Goes here =
== Team Members ==
# [mailto:ssdhillon20@myseneca.ca?subject=GPU610 Sukhbeer Dhillon], Responsibilities...Simple Backpropogation Neural Network# [mailto:gsingh520@myseneca.ca?subject=gpu610 Gurpreet Singh], Some other responsibility Sudoku Puzzle Solver # [mailto:egiang1@myseneca.ca?subject=gpu610 Edgar Giang], Some other other responsibilityMerge sort
#[mailto:ssdhillon20@myseneca.ca;gsingh520@myseneca.ca;egiang1@myseneca.ca?subject=GPU610 Email All]
Is it a program that solves Sudoku puzzles(9X9) using Bruteforce algorithm. Either the The user can either pass a Sudoku files as an input or enter the values manually. Moreover, the file or the manual entry should must strictly have strictly 9 rows and 9 columns in them. LastlyLast but not the least, all the cells should must be separated by a space and the cells that needs to be solved should must have 0 in them as their value.
The original source code can be found at [https://github.com/shafeeq/Sudoku Link]
In this program the Bruteforce algorithm first put 1 in the first cell . Then it moves to the second cell and put 1 in there and then check if it is violating any satisfies all the rulesand conditions. If yesit don't, then the algorithm will increment it increment the 's value to 2 and then check again (. The value can vary change from 10-9) until it finds to find the appropriate correct valuefor a cell. After finding a suitable If none of the value for from the first cell, it moves to range of 0-9 satisfies the second cell and put 1 in there and again check again if it violating any rules. If it is discovers that 1 is not allowed in that cell, then the algorithm program will increment it iterate back and change the value of the first cell to 2 and check then try the whole process again.In this way it will solve the puzzle. =====Compiling the program=====Enter the following commands:
g++ -std=c++0x -pg solver.cpp checks.cpp checksolution.cpp -o a
a fileName
-pg directs the compiler to include the executable code required for profiling.
If we run the sample-puzzle-1 (level- easy) file Text , which has the following text inside the sample-puzzle-1 isit:
0 6 0 0 0 0 9 7 2
0 5 0 0 0 2 0 0 3
The topic I chose is sorting algorithms. The algorithm that I'll be profiling and analyzing would be a merge sort algorithm written in c++ which can be found [https://codereview.stackexchange.com/questions/128457/recurrent-merge-sort-without-p directs recursion/ Here]. This code would ask the user to input the size of the array and then fill the array with random elements. The size of the array can be extremely large. From the original creator, the size of the array entered was in the tens of thousands. Theoretically, there would be no limit to how much the user can input however the original creator of this code said it would take the user several hours to sort 10 million elements in the profiler (gprof) entered array. ===How to run the program=== The following commands was tested in putty: g++ fileName.cpp -pg -o test ./test ===Running the program=== This would be the following output : Please enter the size of your array: 200000 unsorted sorted time: 166100 As you can see the input used was 200,000. The time indicated in the output is in milliseconds so it took 166100 milliseconds to complete. A much larger input would result in the program running for a flat very long time. ===Profiling=== {| class="wikitable mw-collapsible mw-collapsed"! Flat profile|-| Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ms/call ms/call name 21.90 0.07 0.07 600021 0.00 0.00 int* std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<int>(int const*, int const*, int*) 15.64 0.12 0.05 200006 0.00 0.00 merge(std::vector<int, std::allocator<int> >, unsigned int, unsigned int, unsigned int) 9.39 0.15 0.03 400016 0.00 0.00 std::_Vector_base<int, std::allocator<int> >::_M_create_storage(unsigned long) 9.39 0.18 0.03 400015 0.00 0.00 int* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, int>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, std::allocator<int>&) 6.26 0.20 0.02 14466088 0.00 0.00 std::vector<int, std::allocator<int> >::operator[](unsigned long) 6.26 0.22 0.02 600021 0.00 0.00 int* std::__copy_move_a<false, int const*, int*>(int const*, int const*, int*) 6.26 0.24 0.02 400016 0.00 0.00 __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) 6.26 0.26 0.02 400015 0.00 0.00 int* std::uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) 3.13 0.27 0.01 600021 0.00 0.00 std::vector<int, std::allocator<int> >::begin() const 3.13 0.28 0.01 400016 0.00 0.00 __gnu_cxx::new_allocator<int>::deallocate(int*, unsigned long) 3.13 0.29 0.01 400016 0.00 0.00 std::_Vector_base<int, std::allocator<int> >::_M_deallocate(int*, unsigned long) 3.13 0.30 0.01 400016 0.00 0.00 std::_Vector_base<int, std::allocator<int> >::_Vector_base(unsigned long, std::allocator<int> const&) 3.13 0.31 0.01 400015 0.00 0.00 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) 3.13 0.32 0.01 400015 0.00 0.00 int* std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) 0.00 0.32 0.00 1200042 0.00 0.00 __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::__normal_iterator(int const* const&) 0.00 0.32 0.00 1200042 0.00 0.00 __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::base() const 0.00 0.32 0.00 1200042 0.00 0.00 std::_Iter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, false>::_S_base(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 1200042 0.00 0.00 std::_Iter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 1200042 0.00 0.00 std::_Miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 1200042 0.00 0.00 std::_Niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 1200030 0.00 0.00 std::vector<int, std::allocator<int> >::size() const 0.00 0.32 0.00 1000038 0.00 0.00 std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() 0.00 0.32 0.00 600021 0.00 0.00 std::vector<int, std::allocator<int> >::end() const 0.00 0.32 0.00 600018 0.00 0.00 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::__normal_iterator(int* const&) 0.00 0.32 0.00 400017 0.00 0.00 __gnu_cxx::new_allocator<int>::~new_allocator() 0.00 0.32 0.00 400017 0.00 0.00 std::allocator<int>::~allocator() 0.00 0.32 0.00 400016 0.00 0.00 __gnu_cxx::new_allocator<int>::new_allocator(__gnu_cxx::new_allocator<int> const&) 0.00 0.32 0.00 400016 0.00 0.00 __gnu_cxx::new_allocator<int>::max_size() const 0.00 0.32 0.00 400016 0.00 0.00 std::allocator<int>::allocator(std::allocator<int> const&) 0.00 0.32 0.00 400016 0.00 0.00 std::_Iter_base<int*, false>::_S_base(int*) 0.00 0.32 0.00 400016 0.00 0.00 void std::_Destroy_aux<true>::__destroy<int*>(int*, int*) 0.00 0.32 0.00 400016 0.00 0.00 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) 0.00 0.32 0.00 400016 0.00 0.00 std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_Vector_impl(std::allocator<int> const&) 0.00 0.32 0.00 400016 0.00 0.00 std::_Vector_base<int, std::allocator<int> >::_Vector_impl::~_Vector_impl() 0.00 0.32 0.00 400016 0.00 0.00 std::_Vector_base<int, std::allocator<int> >::~_Vector_base() 0.00 0.32 0.00 400016 0.00 0.00 std::vector<int, std::allocator<int> >::~vector() 0.00 0.32 0.00 400016 0.00 0.00 std::_Niter_base<int*>::iterator_type std::__niter_base<int*>(int*) 0.00 0.32 0.00 400016 0.00 0.00 void std::_Destroy<int*>(int*, int*) 0.00 0.32 0.00 400016 0.00 0.00 void std::_Destroy<int*, int>(int*, int*, std::allocator<int>&) 0.00 0.32 0.00 400015 0.00 0.00 __gnu_cxx::__alloc_traits<std::allocator<int> >::_S_select_on_copy(std::allocator<int> const&) 0.00 0.32 0.00 400015 0.00 0.00 std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() const 0.00 0.32 0.00 400015 0.00 0.00 int* std::__uninitialized_copy<true>::__uninit_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) 0.00 0.32 0.00 400015 0.00 0.00 int* std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) 0.00 0.32 0.00 400012 0.00 0.00 unsigned int const& std::min<unsigned int>(unsigned int const&, unsigned int const&) 0.00 0.32 0.00 200006 0.00 0.00 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::base() const 0.00 0.32 0.00 200006 0.00 0.00 std::vector<int, std::allocator<int> >::capacity() const 0.00 0.32 0.00 200006 0.00 0.00 std::_Iter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 200006 0.00 0.00 void std::_Destroy_aux<true>::__destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 200006 0.00 0.00 std::vector<int, std::allocator<int> >::end() 0.00 0.32 0.00 200006 0.00 0.00 std::vector<int, std::allocator<int> >::begin() 0.00 0.32 0.00 200006 0.00 0.00 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) 0.00 0.32 0.00 200006 0.00 0.00 std::_Niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 200006 0.00 0.00 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 200006 0.00 0.00 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 200006 0.00 0.00 void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) 0.00 0.32 0.00 200006 0.00 0.00 void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, std::allocator<int>&) 0.00 0.32 0.00 2 0.00 0.28 check_sort(std::vector<int, std::allocator<int> >) 0.00 0.32 0.00 1 0.00 0.00 _GLOBAL__sub_I_main 0.00 0.32 0.00 1 0.00 320.11 merge_sort(std::vector<int, std::allocator<int> >) 0.00 0.32 0.00 1 0.00 0.00 __static_initialization_and_destruction_0(int, int) 0.00 0.32 0.00 1 0.00 0.00 __gnu_cxx::new_allocator<int>::new_allocator() 0.00 0.32 0.00 1 0.00 0.00 std::allocator<int>::allocator() 0.00 0.32 0.00 1 0.00 0.00 void std::__uninitialized_fill_n<true>::__uninit_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) 0.00 0.32 0.00 1 0.00 0.00 std::vector<int, std::allocator<int> >::_M_fill_initialize(unsigned long, int const&) 0.00 0.32 0.00 1 0.00 0.00 std::vector<int, std::allocator<int> >::vector(unsigned long, int const&, std::allocator<int> const&) 0.00 0.32 0.00 1 0.00 0.00 __gnu_cxx::__enable_if<std::__is_scalar<int>::__value, int*>::__type std::__fill_n_a<int*, unsigned long, int>(int*, unsigned long, int const&) 0.00 0.32 0.00 1 0.00 0.00 void std::uninitialized_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) 0.00 0.32 0.00 1 0.00 0.00 void std::__uninitialized_fill_n_a<int*, unsigned long, int, int>(int*, unsigned long, int const&, std::allocator<int>&) 0.00 0.32 0.00 1 0.00 0.00 int* std::fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) |} {| class="wikitable mw-collapsible mw-collapsed"! Call graph|-| Call graph granularity: each sample hit covers 2 byte(s) for 3.12% of 0.32 seconds index % time self children called name <spontaneous>[1] 100.0 0.00 0.32 main [1] 0.00 0.32 1/1 merge_sort(std::vector<int, std::allocator<int> >) [2] 0.00 0.00 200000/14466088 std::vector<int, std::allocator<int> >::operator[](unsigned long) [17] 0.00 0.00 1/400015 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3] 0.00 0.00 1/1 std::vector<int, std::allocator<int> >::vector(unsigned long, int const&, std::allocator<int> const&) [26] 0.00 0.00 2/400016 std::vector<int, std::allocator<int> >::~vector() [22] 0.00 0.00 200001/1200030 std::vector<int, std::allocator<int> >::size() const [39] 0.00 0.00 1/1 std::allocator<int>::allocator() [70] 0.00 0.00 1/400017 std::allocator<int>::~allocator() [44]----------------------------------------------- 0.00 0.32 1/1 main [1][2] 99.9 0.00 0.32 1 merge_sort(std::vector<int, std::allocator<int> >) [2] 0.05 0.12 200006/200006 merge(std::vector<int, std::allocator<int> >, unsigned int, unsigned int, unsigned int) [4] 0.01 0.09 200008/400015 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3] 0.00 0.03 200006/200006 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14] 0.00 0.02 400014/400016 std::vector<int, std::allocator<int> >::~vector() [22] 0.00 0.00 2/2 check_sort(std::vector<int, std::allocator<int> >) [25] 0.00 0.00 400012/400012 unsigned int const& std::min<unsigned int>(unsigned int const&, unsigned int const&) [57] 0.00 0.00 1/1200030 std::vector<int, std::allocator<int> >::size() const [39]----------------------------------------------- 0.00 0.00 1/400015 main [1] 0.01 0.09 200006/400015 merge(std::vector<int, std::allocator<int> >, unsigned int, unsigned int, unsigned int) [4] 0.01 0.09 200008/400015 merge_sort(std::vector<int, std::allocator<int> >) [2][3] 61.5 0.01 0.19 400015 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3] 0.03 0.09 400015/400015 int* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, int>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, std::allocator<int>&) [5] 0.01 0.05 400015/400016 std::_Vector_base<int, std::allocator<int> >::_Vector_base(unsigned long, std::allocator<int> const&) [12] 0.01 0.00 400015/600021 std::vector<int, std::allocator<int> >::begin() const [23] 0.00 0.00 400015/400015 std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() const [56] 0.00 0.00 400015/400015 __gnu_cxx::__alloc_traits<std::allocator<int> >::_S_select_on_copy(std::allocator<int> const&) [55] 0.00 0.00 400015/1200030 std::vector<int, std::allocator<int> >::size() const [39] 0.00 0.00 400015/1000038 std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() [40] 0.00 0.00 400015/600021 std::vector<int, std::allocator<int> >::end() const [41]----------------------------------------------- 0.05 0.12 200006/200006 merge_sort(std::vector<int, std::allocator<int> >) [2][4] 52.3 0.05 0.12 200006 merge(std::vector<int, std::allocator<int> >, unsigned int, unsigned int, unsigned int) [4] 0.01 0.09 200006/400015 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3] 0.02 0.00 13866088/14466088 std::vector<int, std::allocator<int> >::operator[](unsigned long) [17]----------------------------------------------- 0.03 0.09 400015/400015 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3][5] 37.5 0.03 0.09 400015 int* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, int>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, std::allocator<int>&) [5] 0.02 0.07 400015/400015 int* std::uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [6]----------------------------------------------- 0.02 0.07 400015/400015 int* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, int>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, std::allocator<int>&) [5][6] 28.1 0.02 0.07 400015 int* std::uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [6] 0.00 0.07 400015/400015 int* std::__uninitialized_copy<true>::__uninit_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [8]----------------------------------------------- 0.01 0.02 200006/600021 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [15] 0.01 0.05 400015/600021 int* std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [9][7] 28.1 0.02 0.07 600021 int* std::__copy_move_a<false, int const*, int*>(int const*, int const*, int*) [7] 0.07 0.00 600021/600021 int* std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<int>(int const*, int const*, int*) [11]----------------------------------------------- 0.00 0.07 400015/400015 int* std::uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [6][8] 21.9 0.00 0.07 400015 int* std::__uninitialized_copy<true>::__uninit_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [8] 0.00 0.07 400015/400015 int* std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [10]----------------------------------------------- 0.01 0.06 400015/400015 int* std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [10][9] 21.9 0.01 0.06 400015 int* std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [9] 0.01 0.05 400015/600021 int* std::__copy_move_a<false, int const*, int*>(int const*, int const*, int*) [7] 0.00 0.00 800030/1200042 std::_Niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [38] 0.00 0.00 400015/400016 std::_Niter_base<int*>::iterator_type std::__niter_base<int*>(int*) [52]----------------------------------------------- 0.00 0.07 400015/400015 int* std::__uninitialized_copy<true>::__uninit_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [8][10] 21.9 0.00 0.07 400015 int* std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [10] 0.01 0.06 400015/400015 int* std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [9] 0.00 0.00 800030/1200042 std::_Miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [37]----------------------------------------------- 0.07 0.00 600021/600021 int* std::__copy_move_a<false, int const*, int*>(int const*, int const*, int*) [7][11] 21.9 0.07 0.00 600021 int* std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<int>(int const*, int const*, int*) [11]----------------------------------------------- 0.00 0.00 1/400016 std::vector<int, std::allocator<int> >::vector(unsigned long, int const&, std::allocator<int> const&) [26] 0.01 0.05 400015/400016 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3][12] 18.8 0.01 0.05 400016 std::_Vector_base<int, std::allocator<int> >::_Vector_base(unsigned long, std::allocator<int> const&) [12] 0.03 0.02 400016/400016 std::_Vector_base<int, std::allocator<int> >::_M_create_storage(unsigned long) [13] 0.00 0.00 400016/400016 std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_Vector_impl(std::allocator<int> const&) [50]----------------------------------------------- 0.03 0.02 400016/400016 std::_Vector_base<int, std::allocator<int> >::_Vector_base(unsigned long, std::allocator<int> const&) [12][13] 15.6 0.03 0.02 400016 std::_Vector_base<int, std::allocator<int> >::_M_create_storage(unsigned long) [13] 0.00 0.02 400016/400016 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) [19]----------------------------------------------- 0.00 0.03 200006/200006 merge_sort(std::vector<int, std::allocator<int> >) [2][14] 10.4 0.00 0.03 200006 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14] 0.00 0.03 200006/200006 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [16] 0.00 0.00 200006/600021 std::vector<int, std::allocator<int> >::begin() const [23] 0.00 0.00 400012/1200030 std::vector<int, std::allocator<int> >::size() const [39] 0.00 0.00 200006/200006 std::vector<int, std::allocator<int> >::capacity() const [59] 0.00 0.00 200006/1000038 std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() [40] 0.00 0.00 200006/200006 std::vector<int, std::allocator<int> >::end() [62] 0.00 0.00 200006/200006 std::vector<int, std::allocator<int> >::begin() [63] 0.00 0.00 200006/600021 std::vector<int, std::allocator<int> >::end() const [41] 0.00 0.00 200006/200006 void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, std::allocator<int>&) [66]----------------------------------------------- 0.00 0.03 200006/200006 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [16][15] 9.4 0.00 0.03 200006 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [15] 0.01 0.02 200006/600021 int* std::__copy_move_a<false, int const*, int*>(int const*, int const*, int*) [7] 0.00 0.00 400012/1200042 std::_Niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [38] 0.00 0.00 200006/200006 std::_Niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [64] 0.00 0.00 200006/600018 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::__normal_iterator(int* const&) [42]----------------------------------------------- 0.00 0.03 200006/200006 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14][16] 9.4 0.00 0.03 200006 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [16] 0.00 0.03 200006/200006 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [15] 0.00 0.00 400012/1200042 std::_Miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [37]----------------------------------------------- 0.00 0.00 200000/14466088 main [1] 0.00 0.00 400000/14466088 check_sort(std::vector<int, std::allocator<int> >) [25] 0.02 0.00 13866088/14466088 merge(std::vector<int, std::allocator<int> >, unsigned int, unsigned int, unsigned int) [4][17] 6.2 0.02 0.00 14466088 std::vector<int, std::allocator<int> >::operator[](unsigned long) [17]----------------------------------------------- 0.02 0.00 400016/400016 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) [19][18] 6.2 0.02 0.00 400016 __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) [18] 0.00 0.00 400016/400016 __gnu_cxx::new_allocator<int>::max_size() const [46]----------------------------------------------- 0.00 0.02 400016/400016 std::_Vector_base<int, std::allocator<int> >::_M_create_storage(unsigned long) [13][19] 6.2 0.00 0.02 400016 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) [19] 0.02 0.00 400016/400016 __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) [18]----------------------------------------------- 0.01 0.01 400016/400016 std::_Vector_base<int, std::allocator<int> >::~_Vector_base() [21][20] 6.2 0.01 0.01 400016 std::_Vector_base<int, std::allocator<int> >::_M_deallocate(int*, unsigned long) [20] 0.01 0.00 400016/400016 __gnu_cxx::new_allocator<int>::deallocate(int*, unsigned long) [24]----------------------------------------------- 0.00 0.02 400016/400016 std::vector<int, std::allocator<int> >::~vector() [22][21] 6.2 0.00 0.02 400016 std::_Vector_base<int, std::allocator<int> >::~_Vector_base() [21] 0.01 0.01 400016/400016 std::_Vector_base<int, std::allocator<int> >::_M_deallocate(int*, unsigned long) [20] 0.00 0.00 400016/400016 std::_Vector_base<int, std::allocator<int> >::_Vector_impl::~_Vector_impl() [51]----------------------------------------------- 0.00 0.00 2/400016 main [1] 0.00 0.02 400014/400016 merge_sort(std::vector<int, std::allocator<int> >) [2][22] 6.2 0.00 0.02 400016 std::vector<int, std::allocator<int> >::~vector() [22] 0.00 0.02 400016/400016 std::_Vector_base<int, std::allocator<int> >::~_Vector_base() [21] 0.00 0.00 400016/1000038 std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() [40] 0.00 0.00 400016/400016 void std::_Destroy<int*, int>(int*, int*, std::allocator<int>&) [54]----------------------------------------------- 0.00 0.00 200006/600021 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14] 0.01 0.00 400015/600021 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3][23] 3.1 0.01 0.00 600021 std::vector<int, std::allocator<int> >::begin() const [23] 0.00 0.00 600021/1200042 __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::__normal_iterator(int const* const&) [33]----------------------------------------------- 0.01 0.00 400016/400016 std::_Vector_base<int, std::allocator<int> >::_M_deallocate(int*, unsigned long) [20][24] 3.1 0.01 0.00 400016 __gnu_cxx::new_allocator<int>::deallocate(int*, unsigned long) [24]----------------------------------------------- 0.00 0.00 2/2 merge_sort(std::vector<int, std::allocator<int> >) [2][25] 0.2 0.00 0.00 2 check_sort(std::vector<int, std::allocator<int> >) [25] 0.00 0.00 400000/14466088 std::vector<int, std::allocator<int> >::operator[](unsigned long) [17] 0.00 0.00 200001/1200030 std::vector<int, std::allocator<int> >::size() const [39]----------------------------------------------- 0.00 0.00 1/1 main [1][26] 0.0 0.00 0.00 1 std::vector<int, std::allocator<int> >::vector(unsigned long, int const&, std::allocator<int> const&) [26] 0.00 0.00 1/400016 std::_Vector_base<int, std::allocator<int> >::_Vector_base(unsigned long, std::allocator<int> const&) [12] 0.00 0.00 1/1 std::vector<int, std::allocator<int> >::_M_fill_initialize(unsigned long, int const&) [72]----------------------------------------------- 0.00 0.00 600021/1200042 std::vector<int, std::allocator<int> >::begin() const [23] 0.00 0.00 600021/1200042 std::vector<int, std::allocator<int> >::end() const [41][33] 0.0 0.00 0.00 1200042 __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::__normal_iterator(int const* const&) [33]----------------------------------------------- 0.00 0.00 1200042/1200042 std::_Iter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [36][34] 0.0 0.00 0.00 1200042 __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::base() const [34]----------------------------------------------- 0.00 0.00 1200042/1200042 std::_Miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [37][35] 0.0 0.00 0.00 1200042 std::_Iter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, false>::_S_base(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [35]----------------------------------------------- 0.00 0.00 1200042/1200042 std::_Niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [38][36] 0.0 0.00 0.00 1200042 std::_Iter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [36] 0.00 0.00 1200042/1200042 __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::base() const [34]----------------------------------------------- 0.00 0.00 400012/1200042 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [16] 0.00 0.00 800030/1200042 int* std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [10][37] 0.0 0.00 0.00 1200042 std::_Miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [37] 0.00 0.00 1200042/1200042 std::_Iter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, false>::_S_base(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [35]----------------------------------------------- 0.00 0.00 400012/1200042 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [15] 0.00 0.00 800030/1200042 int* std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [9][38] 0.0 0.00 0.00 1200042 std::_Niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [38] 0.00 0.00 1200042/1200042 std::_Iter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [36]----------------------------------------------- 0.00 0.00 1/1200030 merge_sort(std::vector<int, std::allocator<int> >) [2] 0.00 0.00 200001/1200030 main [1] 0.00 0.00 200001/1200030 check_sort(std::vector<int, std::allocator<int> >) [25] 0.00 0.00 400012/1200030 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14] 0.00 0.00 400015/1200030 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3][39] 0.0 0.00 0.00 1200030 std::vector<int, std::allocator<int> >::size() const [39]----------------------------------------------- 0.00 0.00 1/1000038 std::vector<int, std::allocator<int> >::_M_fill_initialize(unsigned long, int const&) [72] 0.00 0.00 200006/1000038 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14] 0.00 0.00 400015/1000038 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3] 0.00 0.00 400016/1000038 std::vector<int, std::allocator<int> >::~vector() [22][40] 0.0 0.00 0.00 1000038 std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() [40]----------------------------------------------- 0.00 0.00 200006/600021 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14] 0.00 0.00 400015/600021 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3][41] 0.0 0.00 0.00 600021 std::vector<int, std::allocator<int> >::end() const [41] 0.00 0.00 600021/1200042 __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::__normal_iterator(int const* const&) [33]----------------------------------------------- 0.00 0.00 200006/600018 std::vector<int, std::allocator<int> >::begin() [63] 0.00 0.00 200006/600018 std::vector<int, std::allocator<int> >::end() [62] 0.00 0.00 200006/600018 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [15][42] 0.0 0.00 0.00 600018 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::__normal_iterator(int* const&) [42]----------------------------------------------- 0.00 0.00 400017/400017 std::allocator<int>::~allocator() [44][43] 0.0 0.00 0.00 400017 __gnu_cxx::new_allocator<int>::~new_allocator() [43]----------------------------------------------- 0.00 0.00 1/400017 main [1] 0.00 0.00 400016/400017 std::_Vector_base<int, std::allocator<int> >::_Vector_impl::~_Vector_impl() [51][44] 0.0 0.00 0.00 400017 std::allocator<int>::~allocator() [44] 0.00 0.00 400017/400017 __gnu_cxx::new_allocator<int>::~new_allocator() [43]----------------------------------------------- 0.00 0.00 400016/400016 std::allocator<int>::allocator(std::allocator<int> const&) [47][45] 0.0 0.00 0.00 400016 __gnu_cxx::new_allocator<int>::new_allocator(__gnu_cxx::new_allocator<int> const&) [45]----------------------------------------------- 0.00 0.00 400016/400016 __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) [18][46] 0.0 0.00 0.00 400016 __gnu_cxx::new_allocator<int>::max_size() const [46]----------------------------------------------- 0.00 0.00 400016/400016 std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_Vector_impl(std::allocator<int> const&) [50][47] 0.0 0.00 0.00 400016 std::allocator<int>::allocator(std::allocator<int> const&) [47] 0.00 0.00 400016/400016 __gnu_cxx::new_allocator<int>::new_allocator(__gnu_cxx::new_allocator<int> const&) [45]----------------------------------------------- 0.00 0.00 400016/400016 std::_Niter_base<int*>::iterator_type std::__niter_base<int*>(int*) [52][48] 0.0 0.00 0.00 400016 std::_Iter_base<int*, false>::_S_base(int*) [48]----------------------------------------------- 0.00 0.00 400016/400016 void std::_Destroy<int*>(int*, int*) [53][49] 0.0 0.00 0.00 400016 void std::_Destroy_aux<true>::__destroy<int*>(int*, int*) [49]----------------------------------------------- 0.00 0.00 400016/400016 std::_Vector_base<int, std::allocator<int> >::_Vector_base(unsigned long, std::allocator<int> const&) [12][50] 0.0 0.00 0.00 400016 std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_Vector_impl(std::allocator<int> const&) [50] 0.00 0.00 400016/400016 std::allocator<int>::allocator(std::allocator<int> const&) [47]----------------------------------------------- 0.00 0.00 400016/400016 std::_Vector_base<int, std::allocator<int> >::~_Vector_base() [21][51] 0.0 0.00 0.00 400016 std::_Vector_base<int, std::allocator<int> >::_Vector_impl::~_Vector_impl() [51] 0.00 0.00 400016/400017 std::allocator<int>::~allocator() [44]----------------------------------------------- 0.00 0.00 1/400016 int* std::fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [76] 0.00 0.00 400015/400016 int* std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [9][52] 0.0 0.00 0.00 400016 std::_Niter_base<int*>::iterator_type std::__niter_base<int*>(int*) [52] 0.00 0.00 400016/400016 std::_Iter_base<int*, false>::_S_base(int*) [48]----------------------------------------------- 0.00 0.00 400016/400016 void std::_Destroy<int*, int>(int*, int*, std::allocator<int>&) [54][53] 0.0 0.00 0.00 400016 void std::_Destroy<int*>(int*, int*) [53] 0.00 0. 00 400016/400016 void std::_Destroy_aux<true>::__destroy<int*>(int*, int*) [49]-b directs ---------------------------------------------- 0.00 0.00 400016/400016 std::vector<int, std::allocator<int> >::~vector() [22][54] 0.0 0.00 0.00 400016 void std::_Destroy<int*, int>(int*, int*, std::allocator<int>&) [54] 0.00 0.00 400016/400016 void std::_Destroy<int*>(int*, int*) [53]----------------------------------------------- 0.00 0.00 400015/400015 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3][55] 0.0 0.00 0.00 400015 __gnu_cxx::__alloc_traits<std::allocator<int> >::_S_select_on_copy(std::allocator<int> const&) [55]----------------------------------------------- 0.00 0.00 400015/400015 std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [3][56] 0.0 0.00 0.00 400015 std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() const [56]----------------------------------------------- 0.00 0.00 400012/400012 merge_sort(std::vector<int, std::allocator<int> >) [2][57] 0.0 0.00 0.00 400012 unsigned int const& std::min<unsigned int>(unsigned int const&, unsigned int const&) [57]----------------------------------------------- 0.00 0.00 200006/200006 std::_Iter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [60][58] 0.0 0.00 0.00 200006 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::base() const [58]----------------------------------------------- 0.00 0.00 200006/200006 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14][59] 0.0 0.00 0.00 200006 std::vector<int, std::allocator<int> >::capacity() const [59]----------------------------------------------- 0.00 0.00 200006/200006 std::_Niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [64][60] 0.0 0.00 0.00 200006 std::_Iter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [60] 0.00 0.00 200006/200006 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::base() const [58]----------------------------------------------- 0.00 0.00 200006/200006 void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [65][61] 0.0 0.00 0.00 200006 void std::_Destroy_aux<true>::__destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [61]----------------------------------------------- 0.00 0.00 200006/200006 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14][62] 0.0 0.00 0.00 200006 std::vector<int, std::allocator<int> >::end() [62] 0.00 0.00 200006/600018 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::__normal_iterator(int* const&) [42]----------------------------------------------- 0.00 0.00 200006/200006 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14][63] 0.0 0.00 0.00 200006 std::vector<int, std::allocator<int> >::begin() [63] 0.00 0.00 200006/600018 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::__normal_iterator(int* const&) [42]----------------------------------------------- 0.00 0.00 200006/200006 __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [15][64] 0.0 0.00 0.00 200006 std::_Niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [64] 0.00 0.00 200006/200006 std::_Iter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [60]----------------------------------------------- 0.00 0.00 200006/200006 void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, std::allocator<int>&) [66][65] 0.0 0.00 0.00 200006 void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [65] 0.00 0.00 200006/200006 void std::_Destroy_aux<true>::__destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [61]----------------------------------------------- 0.00 0.00 200006/200006 std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [14][66] 0.0 0.00 0.00 200006 void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, std::allocator<int>&) [66] 0.00 0.00 200006/200006 void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [65]----------------------------------------------- 0.00 0.00 1/1 __libc_csu_init [90][67] 0.0 0.00 0.00 1 _GLOBAL__sub_I_main [67] 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [68]----------------------------------------------- 0.00 0.00 1/1 _GLOBAL__sub_I_main [67][68] 0.0 0.00 0.00 1 __static_initialization_and_destruction_0(int, int) [68]----------------------------------------------- 0.00 0.00 1/1 std::allocator<int>::allocator() [70][69] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator<int>::new_allocator() [69]----------------------------------------------- 0.00 0.00 1/1 main [1][70] 0.0 0.00 0.00 1 std::allocator<int>::allocator() [70] 0.00 0.00 1/1 __gnu_cxx::new_allocator<int>::new_allocator() [69]----------------------------------------------- 0.00 0.00 1/1 void std::uninitialized_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [74][71] 0.0 0.00 0.00 1 void std::__uninitialized_fill_n<true>::__uninit_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [71] 0.00 0.00 1/1 int* std::fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [76]----------------------------------------------- 0.00 0.00 1/1 std::vector<int, std::allocator<int> >::vector(unsigned long, int const&, std::allocator<int> const&) [26][72] 0.0 0.00 0.00 1 std::vector<int, std::allocator<int> >::_M_fill_initialize(unsigned long, int const&) [72] 0.00 0.00 1/1000038 std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() [40] 0.00 0.00 1/1 void std::__uninitialized_fill_n_a<int*, unsigned long, int, int>(int*, unsigned long, int const&, std::allocator<int>&) [75]----------------------------------------------- 0.00 0.00 1/1 int* std::fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [76][73] 0.0 0.00 0.00 1 __gnu_cxx::__enable_if<std::__is_scalar<int>::__value, int*>::__type std::__fill_n_a<int*, unsigned long, int>(int*, unsigned long, int const&) [73]----------------------------------------------- 0.00 0.00 1/1 void std::__uninitialized_fill_n_a<int*, unsigned long, int, int>(int*, unsigned long, int const&, std::allocator<int>&) [75][74] 0.0 0.00 0.00 1 void std::uninitialized_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [74] 0.00 0.00 1/1 void std::__uninitialized_fill_n<true>::__uninit_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [71]----------------------------------------------- 0.00 0.00 1/1 std::vector<int, std::allocator<int> >::_M_fill_initialize(unsigned long, int const&) [72][75] 0.0 0.00 0.00 1 void std::__uninitialized_fill_n_a<int*, unsigned long, int, int>(int*, unsigned long, int const&, std::allocator<int>&) [75] 0.00 0.00 1/1 void std::uninitialized_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [74]----------------------------------------------- 0.00 0.00 1/1 void std::__uninitialized_fill_n<true>::__uninit_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [71][76] 0.0 0.00 0.00 1 int* std::fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [76] 0.00 0.00 1/400016 std::_Niter_base<int*>::iterator_type std::__niter_base<int*>(int*) [52] 0.00 0.00 1/1 __gnu_cxx::__enable_if<std::__is_scalar<int>::__value, int*>::__type std::__fill_n_a<int*, unsigned long, int>(int*, unsigned long, int const&) [73]-----------------------------------------------�Index by function name [67] _GLOBAL__sub_I_main [44] std::allocator<int>::~allocator() [22] std::vector<int, std::allocator<int> >::~vector() [25] check_sort(std::vector<int, std::allocator<int> >) [35] std::_Iter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, false>::_S_base(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [14] std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) [2] merge_sort(std::vector<int, std::allocator<int> >) [36] std::_Iter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [17] std::vector<int, std::allocator<int> >::operator[](unsigned long) [68] __static_initialization_and_destruction_0(int, int) [60] std::_Iter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, true>::_S_base(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [73] __gnu_cxx::__enable_if<std::__is_scalar<int>::__value, int*>::__type std::__fill_n_a<int*, unsigned long, int>(int*, unsigned long, int const&) [4] merge(std::vector<int, std::allocator<int> >, unsigned int, unsigned int, unsigned int) [48] std::_Iter_base<int*, false>::_S_base(int*) [37] std::_Miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__miter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [24] __gnu_cxx::new_allocator<int>::deallocate(int*, unsigned long) [11] int* std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<int>(int const*, int const*, int*) [38] std::_Niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) [18] __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) [61] void std::_Destroy_aux<true>::__destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [64] std::_Niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [45] __gnu_cxx::new_allocator<int>::new_allocator(__gnu_cxx::new_allocator<int> const&) [49] void std::_Destroy_aux<true>::__destroy<int*>(int*, int*) [52] std::_Niter_base<int*>::iterator_type std::__niter_base<int*>(int*) [69] __gnu_cxx::new_allocator<int>::new_allocator() [19] std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) [7] int* std::__copy_move_a<false, int const*, int*>(int const*, int const*, int*) [43] __gnu_cxx::new_allocator<int>::~new_allocator() [50] std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_Vector_impl(std::allocator<int> const&) [15] __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [55] __gnu_cxx::__alloc_traits<std::allocator<int> >::_S_select_on_copy(std::allocator<int> const&) [51] std::_Vector_base<int, std::allocator<int> >::_Vector_impl::~_Vector_impl() [9] int* std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [33] __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::__normal_iterator(int const* const&) [20] std::_Vector_base<int, std::allocator<int> >::_M_deallocate(int*, unsigned long) [6] int* std::uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [42] __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::__normal_iterator(int* const&) [13] std::_Vector_base<int, std::allocator<int> >::_M_create_storage(unsigned long) [74] void std::uninitialized_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [46] __gnu_cxx::new_allocator<int>::max_size() const [40] std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() [5] int* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, int>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, std::allocator<int>&) [34] __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::base() const [12] std::_Vector_base<int, std::allocator<int> >::_Vector_base(unsigned long, std::allocator<int> const&) [75] void std::__uninitialized_fill_n_a<int*, unsigned long, int, int>(int*, unsigned long, int const&, std::allocator<int>&) [58] __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::base() const [21] std::_Vector_base<int, std::allocator<int> >::~_Vector_base() [57] unsigned int const& std::min<unsigned int>(unsigned int const&, unsigned int const&) [56] std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() const [8] int* std::__uninitialized_copy<true>::__uninit_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [16] __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [41] std::vector<int, std::allocator<int> >::end() const [71] void std::__uninitialized_fill_n<true>::__uninit_fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [10] int* std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*) [39] std::vector<int, std::allocator<int> >::size() const [72] std::vector<int, std::allocator<int> >::_M_fill_initialize(unsigned long, int const&) [76] int* std::fill_n<int*, unsigned long, int>(int*, unsigned long, int const&) [23] std::vector<int, std::allocator<int> >::begin() const [62] std::vector<int, std::allocator<int> >::end() [65] void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) [59] std::vector<int, std::allocator<int> >::capacity() const [63] std::vector<int, std::allocator<int> >::begin() [66] void std::_Destroy<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, std::allocator<int>&) [47] std::allocator<int>::allocator(std::allocator<int> const&) [3] std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) [53] void std::_Destroy<int*>(int*, int*) [70] std::allocator<int>::allocator() [26] std::vector<int, std::allocator<int> >::vector(unsigned long, int const&, std::allocator<int> const&) [54] void std::_Destroy<int*, int>(int*, int*, std::allocator<int>&) |} ===Analysis=== 21.90 0.07 0.07 600021 0.00 0.00 int* std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<int>(int const*, int const*, int*) 15.64 0.12 0.05 200006 0.00 0.00 merge(std::vector<int, std::allocator<int> >, unsigned int, unsigned int, unsigned int) From the profiler to omit detailed explanations of flat profile,the column headings from hotspots for this program would be the outputfunction merge function whih was called 200,006 times and thee int* std::__copy__move. The merge function would take up 52. 3% of the time ----
=== Assignment 2 ===
=== Assignment 3 ===