1025C - Plasticine zebra - CodeForces Solution


constructive algorithms implementation *1600

Please click on ads to support us..

Python Code:

s = input()
n = len(s)
s += s 

ans, idx = 0, 0 
while idx < n:
    st = idx 
    idx += 1
    while idx < st + n and s[idx] != s[idx - 1]:
        idx += 1 
    ans = max(ans, idx - st)
print(ans)

C++ Code:

/* Quick Note :
 * Jangan Mikir Lama - lama, sampahin dulu aja kalo OI
 * Always Try to reset
*/
#include <bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
#define debug(val) cerr << "The value of " << #val << " is = " << val << '\n';
typedef long double ld;
typedef long long ll;
typedef unsigned long long ull;
const ld PI = 4*atan((ld)1);
const ll mod = 1e9 + 7;
const ll inf = 922337203685477;
const ll nax = 0;

string s;

int main(){ 
    ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
    //freopen("test.in", "r", stdin);
    //freopen("test.out", "w", stdout);
    
    cin >> s;
    ll cnt = 1;
    ll ans = 1;
    for(ll i = 1; i < 2 * s.size(); i++){
		char idx = '0';
		if(i >= s.size()){
			idx = s[i-s.size()];
		}
		else idx = s[i];
		
		char bfr = '0';
		if(i - 1 >= s.size()){
			bfr = s[i-s.size()-1];
		}
		else bfr = s[i-1];
		
		if(idx == bfr){
			ans = max(ans, cnt);
			cnt = 1;
		}
		else cnt++;
	}
	ans = max(ans, cnt);
	ans = min(ans, (ll)s.size());
	cout << ans << '\n';
    
}


Comments

Submit
0 Comments
More Questions

402. Remove K Digits
97. Interleaving String
543. Diameter of Binary Tree
124. Binary Tree Maximum Path Sum
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
501A - Contest
160A- Twins
752. Open the Lock
1535A - Fair Playoff
1538F - Interesting Function
1920. Build Array from Permutation
494. Target Sum
797. All Paths From Source to Target
1547B - Alphabetical Strings
1550A - Find The Array
118B - Present from Lena
27A - Next Test
785. Is Graph Bipartite
90. Subsets II
1560A - Dislike of Threes
36. Valid Sudoku
557. Reverse Words in a String III
566. Reshape the Matrix
167. Two Sum II - Input array is sorted
387. First Unique Character in a String
383. Ransom Note
242. Valid Anagram
141. Linked List Cycle
21. Merge Two Sorted Lists
203. Remove Linked List Elements