CF1168A Увеличение по Modulo 二 分

http://codeforces.com/problemset/problem/1168/A

Эффект: массив по модулю м, одна операция может сделать множество элементов массива (AI + 1)% м, пусть весь массив не снижается, минимальное количество операций поиска

Идеи: Легко знать ответ до не более чем х по модулю т, мы можем бинарные х. Если текущее решение осуществимо, то пространство поиска сводится к [л, среднему], неосуществимая (х> середины) сводятся к [MID, R] вплоть до л = г-1, г в это время является минимальным операндом х ,   

Примечание (LF <= пред + т && пред + т <= RF) означает, что она представляет собой интервал [LF, RF] имеет более чем определенный период м, интервал после каждой новой точки тойт интервалов, получается ли Он содержит пред

# include <бит / STDC ++ ч.>
 с использованием  пространства имен STD; 
ЬурейеЕ долго  долго LL;
Const  INT maxn = 3e5 + 5 ;
INT A [maxn]; 
 
INT Main () { 
  ИОС :: sync_with_stdio ( 0 ); 
  cin.tie ( 0 );
  // freopen ( "datain.txt", "г", STDIN); 
  INT п, м; 
  CIN >> п >> м;
  для ( INT I = 0 ; <п; я ++ ) { 
    CIN >> а [I]; 
  } 
  INT L = - 1 , г =м;
   это время (L <R - 1 ) {
     Int MID = (L + R & Lt) / 2 ;
     INT ПРЕД = 0 ;                      // где пред = а [0], в течение от 1 до начала цикла приведет WA 
    BOOL Bad = ложь ;                  // так как этот подход к [0] в качестве фиксированного значения, не содержится в двоичном поиске 
    для ( INT I = 0 ; I <п, I ++) {            // но , очевидно , некоторые оптимальное решение требует модификации в [ 0] 
        INT LF = A [I], RF = A [I] + MID;     // Например, некоторые случаи I = 0 до двух присвоенного правой части начальной секции 
        ПЧ ((LF <= ПРЕД && ПРЕД <= РЧ) || (LF <= т + && ПРЕДЫДУЩИЙ ПРЕДЫДУЩИЙ + т <= РЧ)) {
             Продолжить ;
        } 
        Если (LF < предыдущая) { 
            плохо = верно ; перерыв ; 
        } 
        Иначе { 
            пред = LF; 
        } 
    } 
    Если (плохо) л = середина;
    остальной г = середина; 
  } 
    СоиЬ << г << епсИ; 
}

 

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

отwww.cnblogs.com/hanker99/p/10965456.html