samedi 9 janvier 2021

Checking monotonic sequences - C programming

I am doing a problem about checking monotonic sequences. The problem is inputting a sequence and then print "YES" if it is monotonic, "NO" if it is not.

This is my code:

#include <stdio.h>

int main()
{
    //Inputting the sequence
    int n;
    scanf("%d", &n);
    int a[n];
    for (int i = 1; i <= n; i++)
    {
        scanf("%d ", &a[i]);
    }

    
    //Checking monotonic sequence
    for (int i = 1; i <= n; i++)
    {
        if ((a[i] > a[i-1]) && (a[i] > a[i+1]))
            {
                printf("NO");
                return;
            }
        else if ((a[i] < a[i-1]) && (a[i] < a[i+1]))
            {
                printf("NO");
                return;
            }
        
    }
    printf("YES");

    return 0;
}

I have failed 2 test case with sequences [1, 2, 3] and [10, 6, 4, 2, 1, -100]; and passed one test case with [1, 2, 3, 3, 2, 1]. Can anyone please point out the problem in my code? I would truly appreciate that. Thank you.

Aucun commentaire:

Enregistrer un commentaire