Codeforces 1324C Solution

Revision en2, by OI_Master, 2020-04-15 05:29:33

This problem can be said to have messed up my thinking. After I figured out the solution, I felt that I was too stupid.

I know that other people have written the solution, but I am willing to take the time to write it again in order to be more proficient. If you feel bored, you can ignore it.

In this problem, we found that jumping to the left is actually not cost-effective. When we jump to the left, the distance will be farther away. All we want to jump is the stone marked "R". At this time, this question is very simple, directly find the coordinate difference of all the stones marked with "R", and take the maximum value.

#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int t;
	cin>>t;
	while(t--){
		string s;
		cin>>s;
		vector<int>v;
		v.push_back(0);
		for(int i=0;i<s.size();++i)
			if(s[i]=='R')
				v.push_back(i+1);
		v.push_back(s.size()+1);
		int maxv=-1;
		for(int i=1;i<v.size();++i)
			maxv=max(maxv,v[i]-v[i-1]);
		cout<<maxv<<endl;
	}
	return 0;
}

If you are Chinese, you can read it here.

Tags solution, 1324c

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en2 English OI_Master 2020-04-15 05:29:33 290
en1 English OI_Master 2020-04-15 03:47:30 939 Initial revision (published)