Я отправляю свой код на одного из онлайн-судей. Моя программа принимается. Однако для части моей программы требуется массив длинного целого числа из почти 10000 элементов. Размер вводится судьей во время выполнения. я динамически выделять память с помощью:Альтернатива динамическому распределению памяти?
int *array = new int[size];
Но это съедает много времени во время выполнения. Мое время выполнения плохое, что приводит к плохому рангу. Есть ли возможно FASTER чередуется с динамическим распределением с учетом требований программы?
Я не знаю, почему, но создание массива статически (который я думаю, что это плохая идея) с помощью
int array[10000];
дает мне «ошибка выполнения (нарушение прав доступа)» в
PS : Я просто новичок.
Вы уверены, что распределение будет, Что занимает большую часть времени выполнения? – mclaassen
Вы измеряли время всей вашей программы и время выделения (новый int [размер])? – Yotam
Если я выделяю память статически, моя программа успешно обрабатывает 10 тестовых случаев с временем выполнения 0,015 с, а выделение памяти составляет 0,125 с. – lazygeek