C - 単調増加 Editorial

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

NN個の数からなる数列が与えられます。ii番目の数をaia_iと呼びましょう。

al,al+1,...,ara_l,a_{l+1},...,a_r が単調増加、すなわち lrl≦r であって ai<ai+1a_i<a_{i+1}li<rl≦i<r を満たす全てのiiに対して成り立つような(l,r)(l,r)の数を求めてください。


制約

  • 1N1051≦N≦10^5
  • 1ai1051≦a_i≦10^5
  • aia_iは全て整数である

部分点

  • N3,000N ≦ 3,000 を満たすテストケース全てに正解した場合、部分点として4040点が与えられる。

入力

入力は以下の形式で標準入力から与えられる。

NN
a1a_1 a2a_2aNa_N

出力

al,al+1,...,ara_l,a_{l+1},...,a_r が単調増加となるような(l,r)(l,r)の数を 11 行に出力せよ。


入力例1Copy

Copy
5
1 2 3 2 1

出力例1Copy

Copy
8

条件を満たす(l,r)(l,r)(1,1),(1,2),(1,3),(2,2),(2,3),(3,3),(4,4),(5,5)(1,1),(1,2),(1,3),(2,2),(2,3),(3,3),(4,4),(5,5)88つです。


入力例2Copy

Copy
4
1 2 3 4

出力例2Copy

Copy
10

1lrN1≦l≦r≦Nを満たす(l,r)(l,r)全てが条件を満たします。


入力例3Copy

Copy
6
3 3 4 1 2 2

出力例3Copy

Copy
8

例えば、3,3,43, 3, 4はこの問題で単調増加ではないことに注意してください。


入力例4Copy

Copy
6
1 5 2 3 4 2

出力例4Copy

Copy
10


2025-04-20 (Sun)
22:47:57 +00:00