| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 618040 | czhang2718 | HicCup (FXCUP4_hiccup) | C++17 | 0 ms | 0 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// #include "hiccup.h"
using namespace std;
#include "bits/stdc++.h"
bool check(string s){
	int ps=0;
	for(char c:s){
		if(c=='H') ps++;
		else ps--;
		if(ps<0) return 0;
	}
	return ps==0;
}
int HicCup(std::string S) {
	string t="";
	for(char c:S) if(c!='!') t+=c;
	if(!check(t)) return -1;
	t="";
	for(char c:S) if(c!='H') t+=c;
	int exc=0, c=0;
	if(t.size() && t[0]=='!') return -1;
	int ans=1e9;
	for(int i=t.size()-1; i>=0; i--){
		(t[i]=='!'?exc:c)++;
		if(t[i]=='C') ans=min(ans, exc/c);
	}
	assert(ans!=1e9);
	return ans;
}
 
int main(){
	string s;
	cin >> s;
	cout << HicCup(s);
}
