# | 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);
}