#include <stdio.h>
m,c,i,d,j;f(int*l,int s){while(i<s)c=l[i++]?c+1:0,m=c>m?c:m;while(j<s)if(l[j++])d=d+1;else if(d<m)while(d)l[j-1-d--]=0;else d=0;}
int main()
{
int l[] = {1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0};
const int size = sizeof(l)/sizeof(l[0]);
for (int i
=0; i
<size
; i
++) printf("%d,",l
[i
]); printf("\n"); f(l, size);
for (int i
=0; i
<size
; i
++) printf("%d,",l
[i
]); printf("\n");
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgptLGMsaSxkLGo7ZihpbnQqbCxpbnQgcyl7d2hpbGUoaTxzKWM9bFtpKytdP2MrMTowLG09Yz5tP2M6bTt3aGlsZShqPHMpaWYobFtqKytdKWQ9ZCsxO2Vsc2UgaWYoZDxtKXdoaWxlKGQpbFtqLTEtZC0tXT0wO2Vsc2UgZD0wO30KCmludCBtYWluKCkKewoJaW50IGxbXSA9IHsxLDEsMSwwLDAsMCwxLDEsMSwxLDAsMSwwLDAsMSwxLDAsMSwxLDEsMSwwLDAsMSwwfTsKCWNvbnN0IGludCBzaXplID0gc2l6ZW9mKGwpL3NpemVvZihsWzBdKTsKCQoJZm9yIChpbnQgaT0wOyBpPHNpemU7IGkrKykgcHJpbnRmKCIlZCwiLGxbaV0pOyBwcmludGYoIlxuIik7CglmKGwsIHNpemUpOwoJZm9yIChpbnQgaT0wOyBpPHNpemU7IGkrKykgcHJpbnRmKCIlZCwiLGxbaV0pOyBwcmludGYoIlxuIik7CgkKCXJldHVybiAwOwp9Cg==
1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,
0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,