ARC 169
Table of Contents
A. Please Sign
https://atcoder.jp/contests/arc169/tasks/arc169_a
解説 AC
こちらの動画を見て理解した
https://youtu.be/A79qGX7OFMM?si=PPJI_IB_vRbaFFaZ
void solve() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
vll A(N);
rep(i, N) cin >> A[i];
vint depth(N);
vll B(N);
B[0] = A[0];
rep2(i, 1, N) {
int p;
cin >> p;
p--;
depth[i] = depth[p] + 1;
B[depth[i]] += A[i];
}
string ans = "0";
for (int i = N - 1; i >= 0; i--) {
if (B[i] == 0)
continue;
if (B[i] < 0)
ans = "-";
if (B[i] > 0)
ans = "+";
break;
}
cout << ans << endl;
}
B. Subsegments with Small Sums
https://atcoder.jp/contests/arc169/tasks/arc169_b
C. Not So Consecutive
https://atcoder.jp/contests/arc169/tasks/arc169_c
D. Add to Make a Permutation
https://atcoder.jp/contests/arc169/tasks/arc169_d
E. Avoid Boring Matches
https://atcoder.jp/contests/arc169/tasks/arc169_e