Submission #40162838


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

const int N = 1e6 + 5;
int s[N], suf[N], ans, n, ss[N];
char str[N];

void check(int up) {
    for(int i = 1; i <= n; i++) ss[i] = s[i];
    suf[n] = ss[n];
    for(int i = n - 1; i; i--) suf[i] = max(suf[i + 1], ss[i]);
    int tg = 0, mn = 0, mx = 0;
    for(int i = 1; i <= n; i++) {
        if (str[i] == '?' && suf[i] + tg + 2 <= up) tg += 2;
        ss[i] += tg;
        mn = min(mn, ss[i]), mx = max(mx, ss[i]);
    }
    ans = min(ans, mx - mn);
}

int main() {
    scanf("%s", str + 1), n = strlen(str + 1);
    int mn = 0, mx = 0;
    for(int i = 1; i <= n; i++) {
        if (str[i] == '1') s[i] = s[i - 1] + 1; else s[i] = s[i - 1] - 1;
        mn = min(mn, s[i]), mx = max(mx, s[i]);
    }
    ans = mx - mn;
    for(int i = 0; i <= 1; i++) check(mx + i);
    printf("%d\n", ans);
}

Submission Info

Submission Time
Task B - 01 Unbalanced
User Indus
Language C++ (GCC 9.2.1)
Score 800
Code Size 872 Byte
Status AC
Exec Time 35 ms
Memory 16428 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:22:10: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   22 |     scanf("%s", str + 1), n = strlen(str + 1);
      |     ~~~~~^~~~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 3
AC × 46
Set Name Test Cases
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt
Case Name Status Exec Time Memory
00-sample-01.txt AC 7 ms 3636 KiB
00-sample-02.txt AC 2 ms 3652 KiB
00-sample-03.txt AC 2 ms 3488 KiB
01-01.txt AC 2 ms 3560 KiB
01-02.txt AC 31 ms 16356 KiB
01-03.txt AC 32 ms 16428 KiB
01-04.txt AC 35 ms 16292 KiB
01-05.txt AC 33 ms 16412 KiB
01-06.txt AC 33 ms 16288 KiB
01-07.txt AC 34 ms 16368 KiB
01-08.txt AC 27 ms 16292 KiB
01-09.txt AC 34 ms 16424 KiB
01-10.txt AC 22 ms 16372 KiB
01-11.txt AC 23 ms 16412 KiB
01-12.txt AC 22 ms 16428 KiB
01-13.txt AC 29 ms 16316 KiB
01-14.txt AC 28 ms 16168 KiB
01-15.txt AC 29 ms 16360 KiB
01-16.txt AC 29 ms 16372 KiB
01-17.txt AC 29 ms 16288 KiB
01-18.txt AC 28 ms 16372 KiB
01-19.txt AC 30 ms 16284 KiB
01-20.txt AC 27 ms 16264 KiB
01-21.txt AC 25 ms 16380 KiB
01-22.txt AC 25 ms 16428 KiB
01-23.txt AC 29 ms 16356 KiB
01-24.txt AC 29 ms 16380 KiB
01-25.txt AC 31 ms 16164 KiB
01-26.txt AC 32 ms 16264 KiB
01-27.txt AC 29 ms 16356 KiB
01-28.txt AC 34 ms 16284 KiB
01-29.txt AC 32 ms 16288 KiB
01-30.txt AC 24 ms 16288 KiB
01-31.txt AC 30 ms 16368 KiB
01-32.txt AC 27 ms 16364 KiB
01-33.txt AC 27 ms 16408 KiB
01-34.txt AC 26 ms 16376 KiB
01-35.txt AC 23 ms 16412 KiB
01-36.txt AC 23 ms 16332 KiB
01-37.txt AC 25 ms 16380 KiB
01-38.txt AC 26 ms 16316 KiB
01-39.txt AC 27 ms 16380 KiB
01-40.txt AC 25 ms 16288 KiB
01-41.txt AC 28 ms 16240 KiB
01-42.txt AC 27 ms 16288 KiB
01-43.txt AC 27 ms 16276 KiB