# ans = 売る可能性がある場所の数 = 売って利益が最大値になる可能性がある場所

# Tは関係ない



N,T=list(map(int,input().split()))

A=list(map(int,input().split()))



# 売る場所を一つず右にずらす

# それより前の場所の最安値を持っておく

# 差分のmaxvalを満たす回数をカウント、maxvalが更新されたら回数は1に戻す



INF=10**9+1

maxval=0

minval=INF

ans=0

for i in range(1,len(A)):

  minval=min(A[i-1],minval)

  diff=A[i]-minval

  if diff>maxval:

    maxval=diff

    ans=1

  elif diff==maxval:

    ans+=1



print(ans)

import sys

readline = sys.stdin.readline



# そこまでの最小値を記録する

# 最小値との差が最大になった時点で、その値を記録し、1を計上

# 最小値との差がこれまでの最大値と同じ場合は+1を計上

# 最小値との差の最大値が更新された場合はまた1から計上

# Tは関係ない



N,T = list(map(int,readline().split()))

A = list(map(int,readline().split()))



minval = 10 ** 9 + 1 # そこまでの最小値

maxdiff = 0 # そこまでの差の最大値

ans = 0

for a in A:

  if a < minval:

    minval = a

    continue

  diff = a - minval

  if diff > maxdiff:

    maxdiff = diff

    ans = 1

  elif diff == maxdiff:

    ans += 1



print(ans)
# ans = 売る可能性がある場所の数 = 売って利益が最大値になる可能性がある場所
# Tは関係ない
N, T = list(map(int, input().split()))
A = list(map(int, input().split()))
# 売る場所を一つず右にずらす
# それより前の場所の最安値を持っておく
# 差分のmaxvalを満たす回数をカウント、maxvalが更新されたら回数は1に戻す
INF = 10**9 + 1
maxval = 0
minval = INF
ans = 0
for i in range(1, len(A)):
    minval = min(A[i - 1], minval)
    diff = A[i] - minval
    if diff > maxval:
        maxval = diff
        ans = 1
    elif diff == maxval:
        ans += 1
print(ans)

import sys

readline = sys.stdin.readline
# そこまでの最小値を記録する
# 最小値との差が最大になった時点で、その値を記録し、1を計上
# 最小値との差がこれまでの最大値と同じ場合は+1を計上
# 最小値との差の最大値が更新された場合はまた1から計上
# Tは関係ない
N, T = list(map(int, readline().split()))
A = list(map(int, readline().split()))
minval = 10**9 + 1  # そこまでの最小値
maxdiff = 0  # そこまでの差の最大値
ans = 0
for a in A:
    if a < minval:
        minval = a
        continue
    diff = a - minval
    if diff > maxdiff:
        maxdiff = diff
        ans = 1
    elif diff == maxdiff:
        ans += 1
print(ans)

-# ans = 売る可能性がある場所の数 = 売って利益が最大値になる可能性がある場所 +import sys + +readline = sys.stdin.readline +# そこまでの最小値を記録する +# 最小値との差が最大になった時点で、その値を記録し、1を計上 +# 最小値との差がこれまでの最大値と同じ場合は+1を計上 +# 最小値との差の最大値が更新された場合はまた1から計上 -N, T = list(map(int, input().split())) -A = list(map(int, input().split())) -# 売る場所を一つず右にずらす -# それより前の場所の最安値を持っておく -# 差分のmaxvalを満たす回数をカウント、maxvalが更新されたら回数は1に戻す -INF = 10**9 + 1 -maxval = 0 -minval = INF +N, T = list(map(int, readline().split())) +A = list(map(int, readline().split())) +minval = 10**9 + 1  # そこまでの最小値 +maxdiff = 0  # そこまでの差の最大値 -for i in range(1, len(A)): -    minval = min(A[i - 1], minval) -    diff = A[i] - minval -    if diff > maxval: -        maxval = diff +for a in A: +    if a < minval: +        minval = a +        continue +    diff = a - minval +    if diff > maxdiff: +        maxdiff = diff -    elif diff == maxval: +    elif diff == maxdiff: