QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#618695#9229. Juliet Unifies OneskkzyrWA 0ms3788kbC++17870b2024-10-07 07:16:292024-10-07 07:16:29

Judging History

This is the latest submission verdict.

  • [2024-10-07 07:16:29]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3788kb
  • [2024-10-07 07:16:29]
  • Submitted

answer

#include <iostream>
#include <string>
using namespace std;

int n;
string s;
int prefix_sum[51][2];
int values[51][2];

int main(){
    cin >> s;
    n = (int)s.size();
    s = 'a' + s;
    int num_1 = 0;
    for (int i = 1;i <= n;i++){
        if (s[i] == '1'){
            num_1++;
        }
        prefix_sum[i][0] = prefix_sum[i - 1][0];
        prefix_sum[i][1] = prefix_sum[i - 1][1];
        prefix_sum[i][s[i] - '0']++;
    }
    int ans = num_1;
    for (int i = 1;i <= n;i++){
        values[i][0] = prefix_sum[i - 1][1] - prefix_sum[i - 1][0];
        values[i][1] = prefix_sum[n][1] - prefix_sum[i][1] + prefix_sum[i][0];
    }
    int min_val = 1e9;
    for (int i = n;i >= 1;i--){
        ans = min(ans, values[i][0] + min_val);
        min_val = min(min_val, values[i][1]);
    }
    cout << ans << '\n';
    return 0;
}

詳細信息

Test #1:

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

input:

00011011001

output:

2

result:

ok 1 number(s): "2"

Test #2:

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

input:

11101111111111111101001011110111111110011101010110

output:

11

result:

ok 1 number(s): "11"

Test #3:

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

input:

00000000100000000000100000010001000

output:

4

result:

wrong answer 1st numbers differ - expected: '3', found: '4'