Предположим, массив A = {5, 4, 3, 7, 9, 11, 2}
.Есть K
количество запросов.В каждом запросе мне будут даны два целых числа L
и R
, где 0 <= L <= R < N
(где N - размер массива).Я должен сказать, отсортирован ли подмассив A[L...R]
.
Например, 1-й запрос запрашивает у меня, отсортирован ли под массив с индексом от 0 до 6 (индекс на основе 0) или нет.Ответ: A[0...6]
не отсортировано.Затем второй запрос спрашивает меня, отсортирован ли A[2...5]
или нет.Этот под-массив отсортирован.Вот как я подошел к нему.Есть ли лучший подход?
int main()
{
int a[7] = { 5, 4, 3, 7, 9, 11, 2}, k = 2;
for(int i = 1; i <= k; i++)
{
int l, r;
cin >> l >> r;
bool isSorted = true;
for(int j = l; j < r; j++)
{
if(a[j] > a[j + 1] )
{
isSorted = false;
break;
}
}
if(isSorted == true)
cout << "Sorted" << endl;
else
cout << "Not Sorted" << endl;
}
}