問題概要
問題ページ
-
C - Low Elements
問題ページへ移動する
問題文
\(1, \ldots, N\) の順列 \(P_1, \ldots, P_N\) が与えられます。
次の条件を満たす整数 \(i(1 \leq i \leq N)\) の個数を数えてください。
- 任意の整数 \(j(1 \leq j \leq i)\) に対して、 \(P_i \leq P_j\)
制約
- \(1 \leq N \leq 2 \times 10^5\)
- \(P_1, \ldots, P_N\) は \(1, \ldots, N\) の順列である。
- 入力はすべて整数である。
問題の考察
ACコード
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
n = int(input().rstrip('\n'))
p = list(map(int, input().rstrip('\n').split()))
mn = 10 ** 20
cnt = 0
for v in p:
if mn >= v:
cnt += 1
mn = min(mn, v)
print(cnt)
if __name__ == '__main__':
solve()