fork download
  1. #include<stdio.h>
  2. int n;
  3. char a[1000009];
  4. int main(){
  5. int i,j,k;
  6. scanf("%d",&n);
  7. scanf("%s",a);
  8. int res=0;
  9. int ll=0;
  10. for(i=0;i<n;){
  11. if(a[i]=='1'){
  12. i++;
  13. continue;
  14. }
  15. for(j=i;j<n;j++){
  16. if(a[j]=='1')break;
  17. }
  18. int l,r,d;
  19. d=(j-i)<<1;
  20. l=((j+1)&(-2))-d;
  21. r=i&(-2);
  22.  
  23. int tl=ll;
  24. if(tl<l){
  25. res+=(l-tl);
  26. tl=l;
  27. }
  28. if(tl>r){
  29. tl=r;
  30. }
  31. tl+=d;
  32. printf("%d %d %d %d %d\n",l,r,d,tl,ll);
  33. if(ll<tl){
  34. ll=tl;
  35. }
  36. i=j;
  37. }
  38. if(ll<n){
  39. res+=(n-ll);
  40. }
  41. printf("%d\n",res>>1);
  42. }
Success #stdin #stdout 0s 5280KB
stdin
10
1110001111
stdout
0 2 6  6 0
2