fork download
  1. #include <bits/stdc++.h>
  2. typedef long long ll;
  3. using namespace std;
  4. void Code_By_Mohamed_Khaled() {
  5. ios_base::sync_with_stdio(false);
  6. cin.tie(nullptr);
  7. cout.tie(nullptr);
  8. #ifndef ONLINE_JUDGE
  9. freopen("input.txt", "r", stdin);
  10. freopen("output.txt", "w", stdout);
  11. #endif
  12. }
  13. const ll mod=1e9+7;
  14. ll add(ll a, ll b) { return ((a % mod) + (b % mod)) % mod; }
  15. ll mul(ll a, ll b) { return ((a % mod) * (b % mod)) % mod; }
  16. ll sub(ll a, ll b) { return ((a % mod) - (b % mod) + mod) % mod; }
  17. ll sol(string&s) {
  18. ll n=s.size();ll coun=0,i,cnt=0,mx=0;
  19. for (i=0;i<n;i++) {
  20. if (s[i]==s[0])cnt++;
  21. else break;
  22. }
  23. for (;i<n;i++) {
  24. if (s[i]==s[0])coun++;
  25. else {
  26. mx=max(mx,coun);
  27. coun=0;
  28. }
  29. }
  30. mx=max(mx,coun);
  31. return mx+cnt;
  32. }
  33. int main() {
  34. Code_By_Mohamed_Khaled();
  35. ll t;cin>>t;
  36. while (t--) {
  37. ll n;string a;cin>>n>>a;
  38. ll cnt=1,mx=0;
  39. for (ll i=1;i<n;i++) {
  40. if (a[i]==a[i-1])cnt++;
  41. else {
  42. mx=max(cnt,mx);
  43. cnt=1;
  44. }
  45. }
  46. mx=max(cnt,mx);
  47. cout<<max(sol(a),mx)<<"\n";
  48. }
  49. return 0;
  50. }
Success #stdin #stdout 0.01s 5300KB
stdin
5
4
aabb
1
d
5
aabaa
8
addxyyyd
10
ffffffffff
stdout
2
1
4
3
10