QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#709427 | #8832. Daily Disinfection | nsuDDDdd | WA | 3ms | 3852kb | C++14 | 962b | 2024-11-04 14:43:04 | 2024-11-04 14:43:06 |
Judging History
answer
#include<iostream>
#include<cmath>
#include<iomanip>
#include<algorithm>
#include<queue>
#include<map>
#include<stack>
#include<cstring>
#include<array>
using namespace std;
const int N = 2e5 + 10;
int a[N];
void svole()
{
int n;
cin>>n;
string s;
cin>>s;
int sum=0,ans=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='1')
{
ans++;
sum++;
a[i]=sum;
}
else
{
sum=0;
a[i]=sum;
}
}
int f=N;
for(int i=0;i<n;i++)
{
if(s[i]=='0'&&(i==0||i==n-1))
{
cout<<ans<<'\n';
return;
}
else if(s[i]=='0')
{
f=min(a[i-1],min(a[i+1],f));
}
}
cout<<ans+f<<'\n';
}
signed main()
{
ios::sync_with_stdio(0);
int t = 1;
cin >> t;
while (t--)
{
svole();
}
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3852kb
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: 3556kb
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 4 3 7 7 3 7 4 3 7 9 15 2 6 6 9 8 6 1 2 5 2 11 10 5 0 0 4 7 4 7 0 4 7 9 3 3 10 3 6 11 8 1 8 6 5 2 4 9 7 1 5 7 8 3 5 11 6 10 8 8 9 16 2 7 6 4 3...
result:
wrong answer 94th numbers differ - expected: '6', found: '5'