Submission #148453

# Submission time Handle Problem Language Result Execution time Memory
148453 2019-09-01T04:26:35 Z CHT를 사랑하는 모임(#3587, moonrabbit2, Retro3014, gs18115) HicCup (FXCUP4_hiccup) C++17
0 / 100
147 ms 4352 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;


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 time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 6 ms 384 KB Output is correct
4 Correct 9 ms 512 KB Output is correct
5 Correct 147 ms 4352 KB Output is correct
6 Correct 13 ms 4352 KB Output is correct
7 Correct 14 ms 4352 KB Output is correct
8 Correct 146 ms 4224 KB Output is correct
9 Correct 143 ms 4224 KB Output is correct
10 Correct 14 ms 4352 KB Output is correct
11 Incorrect 6 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 6 ms 384 KB Output is correct
4 Correct 9 ms 512 KB Output is correct
5 Correct 147 ms 4352 KB Output is correct
6 Correct 13 ms 4352 KB Output is correct
7 Correct 14 ms 4352 KB Output is correct
8 Correct 146 ms 4224 KB Output is correct
9 Correct 143 ms 4224 KB Output is correct
10 Correct 14 ms 4352 KB Output is correct
11 Correct 41 ms 4352 KB Output is correct
12 Correct 37 ms 4352 KB Output is correct
13 Correct 18 ms 4352 KB Output is correct
14 Correct 6 ms 384 KB Output is correct
15 Incorrect 73 ms 4224 KB Output isn't correct
16 Halted 0 ms 0 KB -