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

Обсуждение задачи 1126. Магнитные бури

Don't use minmax.h
Послано Artyom Averin [Psych Up club] 17 мар 2012 13:30
<minmax.h> -> TLE2
<algorithm> -> AC 0.046 :-)
Re: Don't use minmax.h
Послано Vladimir Yakovlev (USU) 18 мар 2012 08:02
<minmax.h>
#define max(a,b)            (((a) > (b)) ? (a) : (b))
#define min(a,b)            (((a) < (b)) ? (a) : (b))

<algorithm>
template<class T> inline const T& (max)(const T& a, const T& b) {return (b < a ? a : b);}
template<class T> inline const T& (min)(const T& a, const T& b) {return (b < a ? b : a);}

So, with <minmax.h> if you write
int rec(x){
  ...
  return max( rec(y), rec(z) );
}
you call rec(y) and rec(z) twice because last line of code is preprocessed to
return rec(y) > rec(z) ? rec(y) : rec(z);


Edited by author 18.03.2012 08:04