حساب المقارب - 9
Задача
للحصول على الكود أدناه ، ابحث عن المقارب:
# include & lt؛ bits / stdc ++. h & gt؛
باستخدام مساحة الاسم strong> std؛
int الرئيسي span> ()
{
int n، m؛
المتجه & lt؛ ناقل & lt؛ int span> & gt؛ & gt؛ up1 (n ، vector & lt؛ int & gt؛ (m))؛
int ans = 0 ؛
لـ strong> ( int i = 1 ؛ i & lt؛ = n؛ i ++ )
{
المتجه & lt؛ int & gt؛ span > L (m + 1 ، 1 < / span>)، R (m + 1 ، m)؛
مكدس & lt؛ int & gt؛ span > ف ؛
لـ strong> ( int j = 1 ؛ j & lt؛ = m؛ j ++ )
{
while (! q.empty () & amp؛ & amp؛ up1 [i] [j] & lt؛ up1 [i] [q.top ()])
{
R [q.top ()] = j - 1 ؛
q.pop () ؛
}
qpush (ي) ؛
}
بينما strong> (! q.empty ())
q.pop () ؛
لـ strong> ( int j = m؛ j & gt؛ = 1 ؛ j - )
{
while (! q.empty () & amp؛ & amp؛ up1 [i] [j] & lt؛ up1 [i] [q.top ()])
{
L [q.top ()] = j + 1 ؛
q.pop () ؛
}
qpush (ي) ؛
}
لـ strong> ( int j = 1 ؛ j & lt؛ = m؛ j ++ )
ans = max (ans، up1 [i] [j] * (R [j] < span style = "color: # 666666"> - L [j] + 1 span >)) ؛
}
cout & lt؛ & lt؛ ans؛
return 0 ؛
}
1) س (ن + م) نبسب ؛ نبسب ؛ نبسب ؛ 2) O (نانومتر) نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ 3) يا (ن ^ 2 * م) نبسب ؛ نبسب ؛ نبسب ؛ 4) يا (ن * م ^ 2)
Выберите правильный ответ, либо введите его в поле ввода
Комментарий учителя