답안 #148474

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
148474 2019-09-01T04:30:06 Z CHT를 사랑하는 모임(#3587, moonrabbit2, Retro3014, gs18115) HicCup (FXCUP4_hiccup) C++17
24 / 100
149 ms 4364 KB
#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;


ll cnt, N;
string str;
ll sum = 0;

bool chk(ll 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();
	for(int i=0; i<N; i++){
		if(S[i]=='H'){
			cnt++;
		}else if(S[i]=='C'){
			if(cnt==0){
				return -1;
			}
			cnt--;
		}
	}
	if(cnt!=0){
		return -1;
	}
	int s = 0, e = S.size()-1, m;
	while(s<e){
		m = (s+e)/2+1;
		if(chk((ll)m)){
			s = m;
		}else{
			e = m-1;
		}
	} 
	return s;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 6 ms 384 KB Output is correct
3 Correct 5 ms 256 KB Output is correct
4 Correct 9 ms 512 KB Output is correct
5 Correct 149 ms 4224 KB Output is correct
6 Correct 14 ms 4352 KB Output is correct
7 Correct 14 ms 4352 KB Output is correct
8 Correct 146 ms 4352 KB Output is correct
9 Correct 144 ms 4352 KB Output is correct
10 Correct 14 ms 4352 KB Output is correct
11 Correct 5 ms 396 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 6 ms 384 KB Output is correct
3 Correct 5 ms 256 KB Output is correct
4 Correct 9 ms 512 KB Output is correct
5 Correct 149 ms 4224 KB Output is correct
6 Correct 14 ms 4352 KB Output is correct
7 Correct 14 ms 4352 KB Output is correct
8 Correct 146 ms 4352 KB Output is correct
9 Correct 144 ms 4352 KB Output is correct
10 Correct 14 ms 4352 KB Output is correct
11 Correct 16 ms 4352 KB Output is correct
12 Correct 15 ms 4224 KB Output is correct
13 Correct 14 ms 4352 KB Output is correct
14 Correct 6 ms 384 KB Output is correct
15 Incorrect 80 ms 4364 KB Output isn't correct
16 Halted 0 ms 0 KB -