結果
3完 [A(100), B(200), C(300)] 11:53 ペナルティ: 0
・順位: 8位
・パフォーマンス: 1600 (Inner: 2556)
・Rating変化: 1198 -> 1246 (+48) [Rating最高値]
各問題の解法
A問題 (100点)
int A, B, C; cin >> A >> B >> C; cout << (C > A && C < B || C < A && C > B ? "Yes" : "No") << endl;
B問題 (200点)
やるだけ
提出詳細
int N, K; string S; cin >> N >> S >> K; char c = S[K - 1]; for (int i = 0; i < N; i++) { cout << (S[i] == c ? c : '*'); } cout << endl;
C問題 (300点)
提出詳細
左からi番目までの#の数A[i]と、右からi番目までの.の数B[i]を用意して、A[i]+B[i]の最小値をとる。
すべて.にする場合とすべて#にする場合は別で値を持っておいて、それ以外のN-1回ループを回す。
int N; string s; cin >> N >> s; vint sumL(N), sumR(L); sumL[0] = s[0] == '#'; sumR[N - 1] = s[N - 1] == '.'; for (int i = 1; i < N; i++) sumL[i] = sumL[i - 1] + (s[i] == '#'); for (int i = N - 2; i >= 0; i--) sumR[i] = sumR[i + 1] + (s[i] == '.'); int ans = min(sumL[N - 1], sumR[0]); for (int i = 0; i < N - 1; i++) ans = min(ans, sumL[i] + sumR[i + 1]); cout << min << endl;
感想
2回連続、3回目の青パフォ!!
やっと水色到達!!!!!!!!
めちゃめちゃ嬉しい!!
目標にしていた4月までに水色になる、を達成しました!!