제출 #148453

#제출 시각아이디문제언어결과실행 시간메모리
148453CHT를 사랑하는 모임 (#200)HicCup (FXCUP4_hiccup)C++17
0 / 100
147 ms4352 KiB
#include "hiccup.h" #include <bits/stdc++.h> #define all(v) (v).begin(), (v).end() #define sortv(v) sort(all(v)) #define uniqv(v) (v).erase(unique(all(v)), (v).end()) #define pb push_back #define FI first #define SE second #define lb lower_bound #define ub upper_bound #define mp make_pair #define test 1 #define TEST if(test) using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<int> vi; const int MOD = 1000000007; // 998244353 const int INF = 2e9; const ll INFLL = 1e18; const int MAX_N = 1; int cnt, N; string str; int sum = 0; bool chk(int x){ bool chk = false; cnt = 0; sum = 0; for(int i=0; i<N; i++){ if(str[i]=='H'){ cnt++; }else if(str[i]=='C'){ if(cnt==0){ return false; } cnt--; sum += x; chk = true; }else{ if(sum!=0){ sum--; }else{ if(!chk) return false; } } } if(sum==0) return true; return false; } int HicCup(string S) { str = S; N = S.size(); int s = 0, e = S.size()-1, m; while(s<e){ m = (s+e)/2+1; if(chk(m)){ s = m; }else{ e = m-1; } } if(chk(s)){ return s; }else{ return -1; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...