ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1306. Медиана последовательности

Как уменьшить расход памяти?
Послано Fitman 12 июн 2017 17:48
Вот код... Я не понимаю как уменьшить расход памяти... но программа написана верно и работает...

#include<iostream>
using namespace std;
int main(){
 int n,i,j;

 float x;
 cin >> n;
 unsigned int a[250000];
 for(i=1;i<=n;i++){
                  cin>>a[i];
                  }
 bool k=true;
 for (i=1;(i<n && k==true);i++){
     k=false;
     for(j=1;j<=n-i;j++){
     if (a[j]>a[j+1]) { swap(a[j],a[j+1]);
     k=true;
     }
     }
     }
     if (n%2==0){
    cout << (a[n/2]+a[n/2+1])/2;
     }
     else {cout << a[n/2];}
}
Re: Как уменьшить расход памяти?
Послано Mahilewets 12 июн 2017 17:55
Не храни 250 000 unsigned int 'ов.  Храни,  например,  только половину --  125 000. Тогда,  очевидно,  расход памяти сократится в два раза.

Edited by author 12.06.2017 17:55