Informatica Online Judge

  1차원 차이 배열 만들기 [1743 / 06CF]

Time Limit(Test case) : 1000(ms)
Number of users who solved : 116   Total Tried : 126


The Champion of this Problem (C++) : gs16109 - 0ms / 156byte
My Best Submission (C++) : N/A

[koistudy.net (T. HS Jeon 2016)]

Background

크기가 n인 1차원 배열 d[]에 대해

k개의 구간 [s, e]와 u를 입력 받아,

d[s] = d[s]+u;
d[e+1] = d[e+1]-u;

를 수행한 후, 누적 합을 만들어 출력해보자.

크기가 7이고,

4개의 구간 데이터
1 2 1
2 3 1
3 4 1
4 5 1

가 입력되면

1차원 배열의 상태는
1 1 0 0 –1 –1 0
가 되며

그 누적합을 계산하면 아래와 같다.
1 2 2 2 1 0 0

Input

첫 번째 줄에 배열의 크기 n과 구간의 개수 k가 공백을 두고 입력된다.
두 번째 줄부터 k개의 데이터가 공백을 두고 입력된다.
[입력값의 정의역]
1 <= k <= n <= 100
0 < s <= e < n
-1000 <= u <= 1000

Output

첫 번째 줄에는 배열의 상태를 출력한다.
두 번째 줄에는 누적합을 계산해 출력한다.

IO Example

입력
7 4
1 2 1
2 3 1
3 4 1
4 5 1

출력
1 1 0 0 –1 –1 0
1 2 2 2 1 0 0

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]