Submission #148488

#TimeUsernameProblemLanguageResultExecution timeMemory
148488채원♡예나 (#200)HicCup (FXCUP4_hiccup)C++17
24 / 100
20 ms3456 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;
	bool check = false;
	int ck = 0;
	for (int i = 0; i < size; i++) {
		if (s[i] == '!') break;
		if (s[i] == 'C') {
			if (ck == 0) break;
			check = true;
			break;
		}
		if (s[i] == 'H') ck = 1;
	}
	if (!check) return -1;
	return min;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...