結果

問題 No.1438 Broken Drawers
ユーザー masashi0217
提出日時 2021-04-04 06:19:53
言語 Ruby
(3.4.1)
結果
AC  
実行時間 239 ms / 2,000 ms
コード長 982 bytes
コンパイル時間 145 ms
コンパイル使用メモリ 7,296 KB
実行使用メモリ 34,816 KB
最終ジャッジ日時 2024-12-26 06:01:30
合計ジャッジ時間 6,163 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n = gets.chomp.to_i
a = gets.chomp.split(" ").map(&:to_i)
tmp = []
if n == 1
    puts "1"
    exit
end
0.upto(n-2) do |j|
    if a[j] < a[j+1]
        if tmp == []
            tmp << j
            tmp << j + 1
        elsif a[j-1] < a[j]
             tmp << j + 1
        elsif a[j-1] > a[j]
            if tmp[-1] == j-1
                tmp << j + 1
            elsif tmp[-1] == j
                tmp << j + 1
            else
                tmp << j
                tmp << j + 1
            end
        end
    else
        if tmp == []
            tmp << j
        elsif a[j-1] < a[j]
            if tmp[-1] == j - 1
                tmp << j + 1
            elsif tmp[-1] != j
                tmp << j
            end
        elsif a[j-1] > a[j]
            if tmp[-1] == j - 1
                tmp << j + 1
            elsif tmp[-1] != j
                tmp << j
            end
        end
    end
end
puts tmp.count
# arr = []
# tmp.each do |k|
#     arr << a[k]
# end
# p arr
0