Submission #148376

#TimeUsernameProblemLanguageResultExecution timeMemory
148376모현보유국 (#200)HicCup (FXCUP4_hiccup)C++17
0 / 100
11 ms512 KiB
#include "hiccup.h"
#include <bits/stdc++.h>
using namespace std;

stack<int> stk;
string s;

bool chk(int x){
	int cnt = 0;
	int save = 0;
	for(int i=0; i<s.size(); i++){
		if(s[i] == 'H') cnt++;
		else if(s[i] == 'C'){
			if(cnt == 0) return 0;
			cnt--;
			save += x;
		}else if(s[i] == '!' && save > 0) save--;
	}
	return save <= 0;
}

int HicCup(string S) {
	s = S;
	int n = s.size();
	
	int ans = -1;
	int l = 0, r = 1000000;
	while(l <= r){
		int m = l + r >> 1;
		if(chk(m)){
			ans = m;
			l = m + 1;
		}else{
			r = m - 1;
		}
	}
	return ans;
}

Compilation message (stderr)

hiccup.cpp: In function 'bool chk(int)':
hiccup.cpp:11:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0; i<s.size(); i++){
               ~^~~~~~~~~
hiccup.cpp: In function 'int HicCup(std::__cxx11::string)':
hiccup.cpp:29:13: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   int m = l + r >> 1;
           ~~^~~
hiccup.cpp:24:6: warning: unused variable 'n' [-Wunused-variable]
  int n = s.size();
      ^
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...