QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#847194#8832. Daily DisinfectionyzhangWA 2ms3712kbC++231.0kb2025-01-07 18:45:002025-01-07 18:45:00

Judging History

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

  • [2025-01-07 18:45:00]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:3712kb
  • [2025-01-07 18:45:00]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int T;
int n;
string s;
int len[200005],cntl;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>T;
    while(T--){
        cin>>n>>s;
        int cnt=0;
        for(int i=0;i<n;++i) if(s[i]=='1') ++cnt;
        if(s[0]=='0'||s[n-1]=='0'){
            cout<<cnt<<'\n';
        }else{
            bool fl=0;
            for(int i=0;i+1<n;++i)
                if(s[i]=='0'&&s[i+1]==0)
                    fl=1;
            if(fl) cout<<cnt<<'\n';
            else{
                cntl=0;
                for(int i=0,j=i;i<n;i=j+1){
                    if(s[i]=='1'){
                        j=i;
                        while(j+1<n&&s[j+1]=='1') ++j;
                        len[++cntl]=j-i+1;
                    }else j=i;
                }
                int del1=min(len[1],len[2]);
                int del2=min(len[cntl-1],len[cntl]);
                int del=min(del1,del2);
                cout<<cnt+del<<'\n';
            }
        }
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

3
2
01
5
00110
9
101010101

output:

1
2
6

result:

ok 3 number(s): "1 2 6"

Test #2:

score: -100
Wrong Answer
time: 2ms
memory: 3700kb

input:

10000
15
010111111011011
10
1000101111
10
0011111101
1
0
3
110
4
1000
8
10000111
20
00000101000100001110
13
1101110110110
13
0111100011010
17
00001001111110101
1
0
20
10001010011000111100
11
00100110101
11
10110101000
15
001011110011000
16
1110111110000111
15
011110110110010
1
0
20
10110001101100010...

output:

11
7
7
0
2
1
5
6
9
7
9
0
9
5
5
7
14
9
0
10
8
7
3
6
0
6
2
5
4
9
10
4
6
1
8
2
1
8
1
8
12
9
15
4
12
13
16
6
4
4
5
1
1
7
8
5
4
0
0
11
9
5
6
7
6
4
9
1
4
5
12
0
2
10
4
3
7
7
3
7
5
3
7
9
15
2
6
7
9
8
6
1
2
6
2
11
10
5
0
0
4
7
4
10
0
4
7
9
3
3
10
3
6
12
8
1
8
6
5
2
4
9
7
1
6
8
8
3
5
12
6
10
8
8
9
16
2
7
6
4...

result:

wrong answer 2nd numbers differ - expected: '6', found: '7'