מציאת תת-מערכים מסודרים

נתון מערך חד-ממדי a המלא במספרים שלמים.

יש להחזיר את מספר תת-המערכים בתוכו שהם מסודרים בסדר עולה ממש (כלומר ללא מספרים שווים). שימו לב, מדובר על תאים הסמוכים אחד לשני. אורך של תת-מערך מסודר בסדר עולה ממש הוא לפחות 2.

לדוגמה,

  • אם נתון המערך a הבא:
01234
12445

יוחזר הערך 4.

אלו ארבעת תת-המערכים המסודרים בסדר עולה ממש: (1, 2), {1, 2, 4}, {2, 4}, {4, 5}

  • אם נתון המערך a הבא:
012
132

יוחזר הערך 1. תת-המערך {1, 3}

  • אם נתון המערך a הבא:
01234
54321

יוחזר הערך 0.

השיטה צריכה להיות יעילה ככל הניתן, גם מבחינת סיבוכיות הזמן וגם מבחינת סיבוכיות המקום.

דוגמה 1:
קלט:
a = [1, 2, 4, 4, 5]
פלט:
4

הסבר: ארבעת תת-המערכים המסודרים בסדר עולה ממש הם: (1, 2), {1, 2, 4}, {2, 4}, {4, 5}

דוגמה 2:
קלט:
a = [1, 3, 2]
פלט:
1

הסבר: תת-המערך היחיד המסודר בסדר עולה ממש הוא: {1, 3}

דוגמה 3:
קלט:
a = [5, 4, 3, 2, 1]
פלט:
0

הסבר: אין תת-מערכים המסודרים בסדר עולה ממש.

דוגמה 4:
קלט:
a = [1, 2, 3, 4, 5]
פלט:
10

הסבר: כל תת-מערך אפשרי הוא מסודר בסדר עולה ממש.

דוגמה 5:
קלט:
a = [1, 1, 1, 1]
פלט:
0

הסבר: אין תת-מערכים המסודרים בסדר עולה ממש.

דוגמה 6:
קלט:
a = [1, 3, 5, 7, 9]
פלט:
10

הסבר: כל תת-מערך אפשרי הוא מסודר בסדר עולה ממש.

דוגמה 7:
קלט:
a = [10, 9, 8, 7, 6, 5]
פלט:
0

הסבר: אין תת-מערכים המסודרים בסדר עולה ממש.

דוגמה 8:
קלט:
a = [2, 4, 6, 8, 10, 12]
פלט:
15

הסבר: כל תת-מערך אפשרי הוא מסודר בסדר עולה ממש.

Loading...
נשמרLn 1, Col 1

קלט:

a = [1, 2, 4, 4, 5]

הפלט המבוקש:

4