Крупный рогатый скот-офф практик матч 14 D сравнить размер Луны (для достижения)

Ссылки: 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»
Пример 1

запись

копия
5 
3 4 5 6 7

экспорт

копия
UP
Пример 2

запись

копия
8 
12 13 14 15 14 13 12 11

экспорт

копия
ВНИЗ
Пример 3

запись

копия
1 
8

экспорт

копия
-1

Примечания:

n≤100 0 ≤ я ≤ 15
Циклический характер входных данных для того, чтобы соответствовать меняющейся Луне
 
 
Идеи:
Специальный судья около 0 и 15, в соответствии с рядом других фигур на приговор, если не число на нем или -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 ' ; 
        } 
    } 
}

 

 

рекомендация

отwww.cnblogs.com/qieqiemin/p/10956361.html