fork(6) download
  1. #include "iostream"
  2. #include<stdio.h>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. unsigned int i,n,o,c,dep,pos_d,pos_m,last_pos,max;
  8. char* arr,*rn;
  9. cin>>n;
  10. //scanf( "%d", &n );
  11. fflush(stdin);
  12. arr = new char[2*n];
  13. //arr = new char[2*n + 10];
  14. rn = fgets(arr, (2*n), stdin);
  15. //scanf( "%s", &arr );
  16. c=o=dep=pos_d=pos_m=last_pos=max=0;
  17. for(i=0;arr[i];i++)
  18. {
  19. if(arr[i]==' ')
  20. continue;
  21.  
  22. else if(arr[i]=='1')
  23. {
  24. o++;
  25. if(c>0)
  26. c--;
  27. else
  28. {
  29. dep++;
  30. pos_d = (i/2)+1;
  31. }
  32. }
  33.  
  34. else if(arr[i]=='2')
  35. {
  36. c++;
  37. if(o>0)
  38. o--;
  39. if(o==0)
  40. {
  41. if(((i-last_pos+2)/2)>max)
  42. {
  43. max=(i-last_pos+2)/2;
  44. pos_m = 1+(last_pos+1)/2;
  45. }
  46. last_pos = i+1;
  47. }
  48. }
  49. }
  50. cout<<dep<<" "<<pos_d<<" "<<max<<" "<<pos_m;
  51. return 0;
  52. }
Success #stdin #stdout 0.01s 2816KB
stdin
6
1 2 1 1 2 2
stdout
0 0 0 0