QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#457232#8832. Daily Disinfectionucup-team3699#WA 3ms3592kbC++231.1kb2024-06-29 09:26:462024-06-29 09:26:49

Judging History

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

  • [2024-06-29 09:26:49]
  • 评测
  • 测评结果:WA
  • 用时:3ms
  • 内存:3592kb
  • [2024-06-29 09:26:46]
  • 提交

answer

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

#define int long long
#define F first 
#define S second
#define pb push_back

const int mol=998244353;
int cnt=0;
int n;
int ca(string a){
    vector<int>ha(n+1, 0);
    for(int i=0;i<a.size();i++){
        if(a[i]=='0') ha[i]=0;
        else{
            if(ha[i-1]) ha[i]=ha[i-1]-1;
            else{
                int t=i;
                while(a[t]=='1') ha[i]++, t++;
            }
        }
    }
    int ans=1e18, cc=0;
    for(int i=0;i<a.size();i++){
        if(a[i]=='1') cc++;
        if(a[i]=='0'){
            ans=min(ans, cnt+ha[i+1]);
        }
    }
    return ans;
}
void solve(){
    cnt=0;
    cin>>n;
    string a;
    cin>>a;
    for(int i=0;i<a.size();i++){
        if(a[i]=='1') cnt++;
    }
    if(a[0]!='1'||a[a.size()-1]!='1'){
        cout<<cnt<<"\n";
        return;
    }
    auto b=a;
    reverse(b.begin(), b.end());
    cout<<ca(b)<<"\n";
    return;
    int ans=min(ca(a), ca(b));
    
    cout<<ans<<"\n";
}

signed main(){
    ios::sync_with_stdio(0);cin.tie(0);
    int t;
    cin>>t;
    while(t--)
    solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 3ms
memory: 3480kb

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
6
7
0
2
1
4
6
9
7
9
0
9
5
5
7
11
9
0
9
8
7
3
6
0
6
2
5
4
8
10
4
6
1
7
2
1
8
1
8
11
9
13
4
11
13
16
6
4
4
5
1
1
7
7
5
3
0
0
11
8
5
6
7
6
4
9
1
4
5
12
0
2
10
5
3
7
7
3
7
4
3
7
9
15
2
6
6
9
8
6
1
2
6
2
11
10
5
0
0
4
7
4
7
0
4
7
9
3
3
10
3
6
11
8
1
13
6
5
2
4
9
7
1
5
7
8
3
5
11
6
10
8
8
9
16
2
7
6
4
...

result:

wrong answer 75th numbers differ - expected: '4', found: '5'