נתון מערך חד-ממדי של מספרים שלמים arr ממוין בסדר עולה, ומספר ממשי x. יש לבדוק אם במערך קיים רצף של איברים עוקבים שהממוצע שלהם הוא x. אם קיים רק רצף כזה בדיוק, יוחזר true ויודפסו האינדקסים של הרצף. אם לא קיים רק רצף כזה, יוחזר false ויודפס שאין רצף כזה.
לדוגמה, עבור המערך הבא:
| 0 | 1 | 2 | 3 | 4 | 5 |
| 2 | 3 | 8 | 14 | 15 | 35 |
x = 8, יוחזר true ויודפסו האינדקסים 2---2, ממוצע הרצף המכיל את האיברים arr[2] הוא 8.x = 2.5, יוחזר true ויודפסו האינדקסים 0---1, ממוצע הרצף המכיל את האיברים arr[0] ו-arr[1] הוא 2.5, כיוון ש- (2 + 3)/2 = 2.5.x = 10, יוחזר true ויודפסו האינדקסים 1---2, ממוצע הרצף המכיל את האיברים arr[1] ו-arr[2] הוא 10, כיוון ש- (3 + 8)/2 = 10.x = 8.5, יוחזר false ויודפס שאין רצף מתאים, לא קיים רצף במערך עם ממוצע של 8.5 (שימו לב כי הממוצע של 3 ו-14 הוא 8.5).השיטה צריכה להיות יעילה ככל הניתן, גם מבחינת סיבוכיות הזמן וגם מבחינת סיבוכיות המקום.
המערך מלא במספרים שלמים וממוין בסדר עולה.
arr = [2, 3, 8, 14, 15, 35], x = 8
2---2 true
הסבר: הממוצע של הרצף המכיל את האיברים arr[2] הוא 8.
arr = [2, 3, 8, 14, 15, 35], x = 2.5
0---1 true
הסבר: הממוצע של הרצף המכיל את האיברים arr[0] ו-arr[1] הוא 2.5.
arr = [2, 3, 8, 14, 15, 35], x = 10
1---4 true
הסבר: הממוצע של הרצף המכיל את האיברים arr[1] ו-arr[4] הוא 10.
arr = [2, 3, 8, 14, 15, 35], x = 8.5
false
הסבר: אין רצף עוקב במערך שהממוצע שלו הוא 8.5.
arr = [1, 2, 3, 4, 5, 6], x = 4.5
2---5 true
הסבר: הממוצע של הרצף המכיל את האיברים arr[2] ו-arr[5] הוא 4.5.
arr = [10, 20, 30, 40, 50], x = 25
0---3 true
הסבר: הממוצע של הרצף המכיל את האיברים arr[0] ו-arr[3] הוא 25.
arr = [5, 10, 15, 20, 25], x = 12.5
0---3 true
הסבר: הממוצע של הרצף המכיל את האיברים arr[0] ו-arr[3] הוא 12.5.
arr = [7, 14, 21, 28, 35], x = 20
false
הסבר: אין רצף עוקב במערך שהממוצע שלו הוא 20.
קלט:
arr = [2, 3, 8, 14, 15, 35], x = 8
הפלט המבוקש:
2---2 true