QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#534003#9229. Juliet Unifies OnesxiachiWA 0ms3768kbC++141.0kb2024-08-26 18:27:002024-08-26 18:27:00

Judging History

你现在查看的是最新测评结果

  • [2024-08-26 18:27:00]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3768kb
  • [2024-08-26 18:27:00]
  • 提交

answer

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


int main() {
    string s;
    cin >> s;
    while (!s.empty() && ~s.back() & 1) s.pop_back();
    reverse(s.begin(), s.end());
    while (!s.empty() && ~s.back() & 1) s.pop_back();
    if (!s.empty()) {
        int n = s.size();
        vector<array<int, 2>> pre(n + 1), suf(n + 2);
        pre[0][0] = pre[0][1] = 0;
        suf[n][0] = suf[n][1] = 0;
        for (int i = 1; i <= n; i++) {
            pre[i][0] = pre[i - 1][0] + (s[i - 1] == '0');
            pre[i][1] = pre[i - 1][1] + (s[i - 1] == '1');
        }
        for (int i = n; i >= 1; i--) {
            suf[i][0] = suf[i + 1][0] + (s[i - 1] == '0');
            suf[i][1] = suf[i + 1][1] + (s[i - 1] == '1');
        }
        int res = n;
        for (int i = 1; i <= n; i++) {
            res = min(res, pre[i][0] + suf[i + 1][1]);
            res = min(res, pre[i][1] + suf[i + 1][0]);
        }
        cout << res;
    } else {
        cout << 0;
    }

    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3768kb

input:

00011011001

output:

2

result:

ok 1 number(s): "2"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3536kb

input:

11101111111111111101001011110111111110011101010110

output:

11

result:

ok 1 number(s): "11"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

00000000100000000000100000010001000

output:

3

result:

ok 1 number(s): "3"

Test #4:

score: 0
Accepted
time: 0ms
memory: 3572kb

input:

00000000000000000000000000000000000000000000000000

output:

0

result:

ok 1 number(s): "0"

Test #5:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

00000000100000000000100000011000

output:

2

result:

ok 1 number(s): "2"

Test #6:

score: -100
Wrong Answer
time: 0ms
memory: 3600kb

input:

11000010100100000011101100000001000100000000000000

output:

10

result:

wrong answer 1st numbers differ - expected: '8', found: '10'