Это тема с однообразным стеком, почему вы можете использовать монотонное стек?
Два массива одновременно выполнять монотонную стек, если каждый раз, когда толчок в большинстве, конечно, до этого толчка, безусловно, будет несколько поп-музыки,
Если есть ряд в стек, а затем судить себя на этот раз в стек число позиций это не то же самое, если не идентичны, чтобы объяснить это определенно не так.
Почему в это время, только позиция в стеке это?
Во-первых, минимальное число до этого, конечно, не считается, потому что текущая нижняя часть стека является наименьшим из положения, функции и значение после номера перед номером, конечно RMQ функция возвращает нижнюю часть стека.
Тогда, что рассматривается в рамках элементов стека, то это должно быть очень хорошая мысль.
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <cstdio> // Описание "Если будет установлено, скажем , " X, давайте летать "(Здесь X является время начала) ..." #include <cstdlib> // и выход в "X, давайте летать" #include <CString> // в ««»и«»» не символ, не копируют неправильно! ! ! #include <Queue> #include <Vector> #include <алгоритм> #include < строка > #include <Stack> #include <iostream> #include <Карта> #define INF 0x3f3f3f3f #define inf64 0x3f3f3f3f3f3f3f3f с использованием пространства имен STD; долго долго LL; INT queue_mina [maxn]; Int queue_minb [maxn]; Int в [maxn], б [maxn]; INT основных () { INT п; в то время как (Scanf ( " % D " , & п) =! EOF) { BOOL флаг = 1 ; INT ANS = п; для ( INT I = 1 ; г <= п; я ++) зсапЕ ( " % d " , & [I]); для ( INT I = 1; г <= п; я ++) зсапЕ ( " % d " , & Ь [I]); INT f1 = 1 , t 1 = 0 ; INT f2 = 1 , t 2 = 0 ; INT г = 1 ; в то время как (г <= п) { в то время как (f1 <= t1 && а [г] <а [queue_mina [t1]]) t1-- ; queue_mina [ ++ t1] = т; в то время как (f2 <= t2 && Ь [г] <б [queue_minb [t2]]) t2-- ; queue_minb [ ++ t2] = т; //Е ( "t1 =% d t2 =% d queue_mina [% d] =% d queue_minb [% d] =% d \ п", t1, t2, t1, queue_mina [t1], t2, queue_minb [t2]); если (! t1 = t2) { флаг = 0 ; ANS = г - 1 ; перерыв ; } Г ++ ; } Е ( " % d \ п " , ANS); } Возвращает 0 ; }