039 - Snowy Days
Editorial
/
Time Limit: 1 sec / Memory Limit: 1024 MB
配点 : 1000 点
注意
書籍の版によっては、書籍内のコードが正しくない場合があります。正誤表を参照してください。
書籍内のコードの訂正点
誤:
// 答えの出力
for (int i = 1; i <= N - 1; i++) {
正:
// 答えの出力 for (int i = 2; i <= N; i++) {
問題文
ALGO 国は N 個の区画に分かれており、西から順に 1 から N までの番号が付けられています。
最初はどの区画にも雪が積もっていませんが、これから Q 日間にわたって雪が降り続け、 i 日目 (1 \leq i \leq Q) には区画 L_i, L_{i+1}, \dots, R_i の積雪が X_i \text{cm} 増加することが予想されています。
予想通りに雪が降り終わった後の積雪の大小関係を表す、 N-1 文字の文字列を出力するプログラムを作成してください。i 文字目は以下のようにしてください。
- (区画 i の積雪) > (区画 i + 1 の積雪) の場合:
>
- (区画 i の積雪) = (区画 i + 1 の積雪) の場合:
=
- (区画 i の積雪) < (区画 i + 1 の積雪) の場合:
<
たとえば積雪が区画 1 から順に [3 \text{cm}, 8 \text{cm}, 5 \text{cm}, 5 \text{cm}, 4 \text{cm}] である場合、 <>=>
という出力が正解です。
制約
- 2 \le N \le 10^5
- 1 \le Q \le 10^5
- 1 \le L_i \le R_i \le N
- 1 \le X_i \le 10000
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられます。
N Q L_1 R_1 X_1 L_2 R_2 X_2 \vdots L_Q R_Q X_Q
出力
問題文中の指示通り出力してください。
入力例 1
5 3 1 2 3 2 5 4 2 4 1
出力例 1
<>=>
このケースでは、積雪は次のように変化します。
- 最初、積雪は区間 1 から順に [0,0,0,0,0] です。
- 1 日目を終え、区間 1 から 2 の積雪が 3 増加しました。積雪は区間 1 から順に [3,3,0,0,0] です。
- 2 日目を終え、区間 2 から 5 の積雪が 4 増加しました。積雪は区間 1 から順に [3,7,4,4,4] です。
- 3 日目を終え、区間 2 から 4 の積雪が 1 増加しました。積雪は区間 1 から順に [3,8,5,5,4] です。
このとき、出力すべき文字列は <>=>
となります。
入力例 2
10 10 1 1 1 6 7 28 3 5 4096 6 10 2000 1 10 10000 2 8 2 10 10 2 1 2 8000 6 7 20 6 8 2048
出力例 2
<>====>><