Submission #148679

#TimeUsernameProblemLanguageResultExecution timeMemory
148679채원♡예나 (#200)HicCup (FXCUP4_hiccup)C++17
24 / 100
25 ms3376 KiB
#include "hiccup.h"
#include <cstdio>
#include <iostream>
#include <string>
#include<math.h>
#include<algorithm>
#include<vector>
#include<queue>
#include<stack>
#include<map>

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<int, pii> piii;
typedef pair<ll, ll> pll;

const int INF = 1e9 + 7;
const int MAX = 4005;

int HicCup(std::string s) {
	int size = s.size();
	int min = INF;
	int cur = 0;
	int cnt = 0;
	int hc = 0;
	for (int i = size - 1; i >= 0; i--) {
		if (s[i] == '!') cnt++;
		if (s[i] == 'H') {
			if (hc > 0) hc--;
			else return -1;
		}
		if (s[i] == 'C') {
			hc++;
			cur++;
			if (min > cnt / cur) min = cnt / cur;
		}
	}
	if (hc != 0) return -1;
	if (s[0] != 'H') return -1;
	
	for (int i = 0; i < size - 1; i++) {
		if (s[i] == 'H' && s[i + 1] == '!') return -1;
	}
	
	return min;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...