Submission #968223

# Submission time Handle Problem Language Result Execution time Memory
968223 2024-04-23T08:34:09 Z weakweakweak Line Town (CCO23_day1problem3) C++17
0 / 25
1 ms 4444 KB
#include <bits/stdc++.h>
using namespace std;

int n, a[500010], pre[500100], suf[500100];

int main () {
    ios_base::sync_with_stdio(false); cin.tie(0);
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> a[i];
    for (int i = 0; i <= n; i++) pre[i] = suf[i] = INT_MAX / 3;
    pre[0] = 0;
    for (int i = 1; i <= n; i++) {
        if (a[i] == -1) pre[i] = pre[i - 1];
        if (i > 1 and a[i] == 1 and a[i - 1] == 1) pre[i] = min(pre[i], pre[i - 2] + 1);
    }

    int ans = INT_MAX;
    suf[0] = 0;
    for (int i = 1; i <= n; i++) {
        int j = n + 1 - i;
        if (a[j] == 1) suf[i] = suf[i - 1];
        if (i > 1 and a[j] == -1 and a[j + 1] == -1) suf[i] = min(suf[i], suf[i - 2] + 1); 
        int z = 0;
        if (j - 1 > 0) z = pre[j - 1];
        ans = min(ans, z + suf[i]);
    }


    if (ans > n) ans = -1;
    cout << ans << '\n';
return 0;}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 1 ms 4444 KB Output isn't correct
3 Halted 0 ms 0 KB -