fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3. void exchange(int *a,int *b)
  4. {
  5. int temp;
  6. temp=*a;
  7. *a=*b;
  8. *b=temp;
  9. }
  10. int abs(int a)
  11. {
  12. if(a<0) a=-a;
  13. return a;
  14. }
  15. void sequence(int *a,int *b,int *c)
  16. {
  17. if(*b<*c)
  18. exchange(b,c);
  19. if(*a<*b)
  20. exchange(a,b);
  21. if(*b<*c)
  22. exchange(b,c);
  23. }
  24. int main()
  25. {
  26. int x,y,z;
  27. int cr=0,cy=0,cb=0;
  28. int c1,c2,c3;
  29. int i;
  30. int sum=0,max=0,max_temp=0;
  31. char balls[200];
  32. scanf("%d%d%d",&x,&y,&z);
  33. sequence(&x,&y,&z);
  34. scanf("%s",balls);
  35. i=0;
  36. while(balls[i]!='\0'&&i<200) i++;
  37. sum=i;
  38. for(i=0; i<sum; i++)
  39. {
  40. max_temp++;
  41. if(max_temp>max)
  42. max=max_temp;
  43. if(balls[i]=='R') cr++;
  44. if(balls[i]=='Y') cy++;
  45. if(balls[i]=='B') cb++;
  46. sequence(&cr,&cy,&cb);
  47. c1=(abs(cr-cb));
  48. c2=(abs(cr-cy));
  49. c3=(abs(cy-cb));
  50. sequence(&c1,&c2,&c3);
  51. if(x==c1&&y==c2&&z==c3) max_temp=0;
  52. if(x==c1&&y==c3&&z==c2) max_temp=0;
  53. }
  54. printf("%d",max);
  55. }
  56.  
Success #stdin #stdout 0s 3100KB
stdin
Standard input is empty
stdout
13