fork download
  1. #include <stdio.h>
  2.  
  3. 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;}
  4.  
  5. int main()
  6. {
  7. 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};
  8. const int size = sizeof(l)/sizeof(l[0]);
  9.  
  10. for (int i=0; i<size; i++) printf("%d,",l[i]); printf("\n");
  11. f(l, size);
  12. for (int i=0; i<size; i++) printf("%d,",l[i]); printf("\n");
  13.  
  14. return 0;
  15. }
  16.  
Success #stdin #stdout 0s 2156KB
stdin
Standard input is empty
stdout
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,