Ссылки: https://ac.nowcoder.com/acm/contest/82/D
Источник: Скот-офф сети
Название Описание
Он отличный маленький оборотень. Как мы все знаем, единственный оборотень полная луна ночь превратится в волка.
В то же время, размер Луны меняется с течением времени, его размер изменяется в цикле 30 дней. Он изменяет (с первого дня) равно 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, а затем еще раз цикл.
Этим летом очень мало скучно и начал смотреть на луну. Потому, что мало заняты, поэтому он только выбрать непрерывный период времени, чтобы увидеть луну, и размер Луны записано.
Теперь он говорит вам, что он записал, пусть скажем вам луну на следующий день (то есть на следующий день после последнего дня следующих мало-мальски записей) за день до (то есть немного записи в последний день) большой или маленькие.
Введите описание:
Чтобы дать вам положительное целое число п представляет число записей в короткое время.
В следующей строке п натуральные числа , указывают на размер Луны небольшой записи.
Выход Описание:
Строка.
Если на следующий день большой выходной в предыдущий день «UP»
, если на следующий день в предыдущий день небольшой выход «DOWN»
Если определение не «-1»
Примечания:
#include <iostream> #include <cstdio> #include <CString> #include <Алгоритм> #include <CMATH> #include <очереди> #include <стек> #include <карта> #include < набор > #include <вектор> # include <iomanip> #define ВСЕ (х) (х) .begin (), (х) .end () #define Rt вернуть #define DLL (х) зсапЕ ( "% I64d", & х) #define XLL (х ) Е ( "% I64d \ п", х) #define SZ (а) Int (а. размер ()) #define все (а) a.begin (), a.end () #defineRep (я, х, п) для (INT I = х; <п; я ++) #define repd (я, х, п) для (INT I = х; г <= п; я ++) #define PII пару < INT, INT> #define ФАПЧ пара <долго долго, долго долго> #define gbtb ИОС :: sync_with_stdio (ложь), cin.tie (0), cout.tie (0) #define ms0 (X) MemSet ((X) , 0, SizeOf ((Х))) #define MSC0 (Х) MemSet ((Х), '\ 0', SizeOf ((Х))) #define пб push_back #define т.пл. make_pair #define фи первый #define себе второй #define EPS 1e-6 #define гг (х) GetInt (& х) #define дБ (х) соиЬ << "== [ "<< х <<"] ==" << ENDL; используя пространство именстанд; ЬурейеЕ долго долго LL; LL НОД (LL а, Л.Л. б) { возвращение Ь НОД (Ь, а%? б): а;} LL LCM (LL а, Л.Л. б) { вернуть а / НОД (а, б) * б;} LL powmod (LL а, б LL, LL MOD) {LL ANS = 1 ; в то время как (б) { если (б% 2 ) = ANS ANS * а% MOD; а = а * а% MOD, б / = 2 ;} возвращение ANS;} инлайн недействительного GetInt ( INT * р); Const INT maxn = 1000010 ; Const ИНТ инф = 0x3f3f3f3f ; / *** ШАБЛОН CODE * * НАЧИНАЕТСЯ ЗДЕСЬ ** * / INT п; INT A [maxn]; INT основных () { // freopen ( "D: \\ common_text \\ code_stream \\ in.txt", "г", STDIN); // freopen ( "D: \\ common_text \\ code_stream \\ out.txt", "ш", стандартный вывод); ИНТ п; gbtb; CIN >> п; repd (я, 1 , п) { CIN >> а [I]; } Если (п == 1 ) { если (а [ 1 ] == 0 ) { соиЬ<< " UP " << епсИ; } Иначе , если (а [ 1 ] == 15 ) { соиЬ << " ВНИЗ " << епсИ; } Еще { соиЬ << - 1 << епсИ; } } Еще { если (а [п] == 0 ) { соиЬ << " ВВЕРХ " << епсИ; если (а [п] == 15 ) { соиЬ << " ВНИЗ " << епсИ; } Еще { если (а [п]> а [п 1 ]) { соиЬ << " UP " << епсИ; } Еще { соиЬ << " DOWN " << епсИ; } } } Возвращают 0 ; GetInt ( INT * р) { символ ч; делать { ч = GetChar (); } В то время (ч == ' ' || ч == ' \ п ' ); если (ч == ' - ' ) { * р = - (GetChar () - ' 0 ' ); в то время как ((CH = GetChar ())> = ' 0 ' && ч <= ' 9 ' ) { * р = * р * 10 - CH + '' ; } } Еще { * р = ч - ' 0 ' ; в то время как ((CH = GetChar ())> = ' 0 ' && ч <= ' 9 ' ) { * р = * р * 10 + ч - ' 0 ' ; } } }