这份代码,已确认没有正在运行,但总是返回1,不知道怎么回事。
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
char c[N];
int a[N];
int read();
void write(int);
signed main(){
//freopen("socdist.in","r",stdin);
//freopen("socdist.out","w",stdout);
int n=read(),s=0,t=0;
for(int i=1;i<=n;i++){
cin>>c[i];
if(c[i]=='0') s++;
else{
a[++t]=s;
s=0;
}
}
a[++t]=s;
int x=0;
for(int i=1;i<=t;i++){
int m=a[i]/2;
x=max(m,x);
}
cout<<x;
return 0;
}
int read(){
int x=0,f=1;char ch=getchar();
while (!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();}
while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
return x*f;
}
void write(int x){
if(x<0){putchar('-');x=-x;}
if(x>9) write(x/10);
putchar(x%10+'0');
}
[Error] ld returned 1 exit status