We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 34670ca commit b666cabCopy full SHA for b666cab
1 file changed
softeer/Hanyang Popularity Exceeding Competition.js
@@ -0,0 +1,28 @@
1
+// Hanyang Popularity Exceeding Competition : 동적 계획법
2
+const input = require("fs")
3
+ .readFileSync(0, "utf-8")
4
+ .trim()
5
+ .split("\n")
6
+ .map((v) => v.split(" ").map((v) => +v));
7
+const [n] = input.shift();
8
+const dp = new Array(n).fill(null).map(() => new Array(2).fill(0));
9
+const [O, X] = [0, 1];
10
+let answer = 0;
11
+
12
+for (let i = 0; i < n; i++) {
13
+ const [pi, ci] = input[i];
14
15
+ for (let j = 0; j < 2; j++) {
16
+ const prev = i > 0 ? dp[i - 1][j] : 0;
17
+ const target = pi - prev;
18
+ if (-1 * ci <= target && target <= ci) {
19
+ dp[i][O] = Math.max(dp[i][O], prev + 1);
20
+ answer = Math.max(dp[i][O], answer);
21
+ } else {
22
+ dp[i][X] = Math.max(dp[i][X], prev);
23
+ answer = Math.max(dp[i][X], answer);
24
+ }
25
26
+}
27
28
+console.log(answer);
0 commit comments