Problem:
Score : 700 points

Problem Statement

Snuke has a permutation (P_0,P_1,\cdots,P_{N-1}) of (0,1,\cdots,N-1).

Now, he will perform the following operation exactly once:

Choose K consecutive elements in P and sort them in ascending order.

Find the number of permutations that can be produced as P after the operation.

Constraints

2 \leq N \leq 200000

2 \leq K \leq N

0 \leq P_i \leq N-1

P_0,P_1,\cdots,P_{N-1} are all different.

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N K
P_0 P_1 \cdots P_{N-1}

Output

Print the number of permutations that can be produced as P after the operation.

Sample Input 1

5 3
0 2 1 4 3

Sample Output 1

2

Two permutations can be produced as P after the operation: (0,1,2,4,3) and (0,2,1,3,4).

Sample Input 2

4 4
0 1 2 3

Sample Output 2

1

Sample Input 3

10 4
2 0 1 3 7 5 4 6 8 9

Sample Output 3

6

Solution in C (Clang 3.8.0) (judge verdict: Wrong Answer)

#include <stdio.h>
#include <string.h>
#include <math.h>
int main(void){
    
    int n;
    int k;
    // int p[n];
    int ans=1;
    
    scanf("%d %d", &n, &k);
    
    int p[n];
    
    for(int i=0; i<=n-1; i++){
        
        scanf("%d", &p[i]);
        
    }
    
    for(int j=0; j<=n-k-1; j++){
        
        for(int m=1; m<=k-1; m++){
            
            if(p[j]>p[j+m] || p[j+k]<p[j+m]){
                
                // printf("j=%d, m=%d\n", j, m); // Debug
                
                ans += 1;
                break;
                
            }
            
        }
        
    }
    
    printf("%d", ans);
    
    return 0;
    
}