diff --git "a/khj20006/202502/25 BOJ G3 \354\226\221 \352\265\254\354\266\234 \354\236\221\354\240\204.md" "b/khj20006/202502/25 BOJ G3 \354\226\221 \352\265\254\354\266\234 \354\236\221\354\240\204.md" new file mode 100644 index 00000000..a0e5f6bc --- /dev/null +++ "b/khj20006/202502/25 BOJ G3 \354\226\221 \352\265\254\354\266\234 \354\236\221\354\240\204.md" @@ -0,0 +1,35 @@ +```cpp + +#include +#include +#include +using namespace std; +using ll = long long; + +int N; +vector> V(123457); +ll C[123457]{}; + +ll dfs(int n) { + ll res = C[n]; + for (int i : V[n]) res += dfs(i); + return max(res, 0LL); +} + +int main() +{ + cin.tie(0)->sync_with_stdio(0); + + cin >> N; + for (int i = 2, a, b; i <= N; i++) { + char o; + cin >> o >> a >> b; + V[b].push_back(i); + C[i] = a * (o == 'S' ? 1 : -1); + } + + cout << dfs(1); + +} + +```