Submission #150716

#TimeUsernameProblemLanguageResultExecution timeMemory
150716요까할 로뭘 은명팀 (#200)HicCup (FXCUP4_hiccup)C++17
24 / 100
29 ms7424 KiB
#include "hiccup.h"
#include <bits/stdc++.h>
using namespace std;
stack <int> st;
int sum[1000005];

int HicCup(string s) { /// HicHup
	int n = s.size();
	stack <int> l;
	vector <int> hc;
	for(int i = 0;i < n;i++) if(s[i] == '!') l.push(i);
	for(int i = 0;i < n;i++)
    {
        if(s[i] == '!') continue;
        if(s[i] == 'H') st.push(1);
        else
        {
            if(st.empty()) return -1;
            hc.push_back(i);
            st.pop();
        }
    }
    if(!st.empty()) return -1;
    int cnt = 0,sum = 0,ans = 10000000,mi = 10000000;
    for(int i = hc.size()-1;i >= 0;i--)
    {
        cnt = 0;
        //cout << hc[i] << " ";
        while(!l.empty()&&l.top() > hc[i]) l.pop(),cnt++;
        sum += cnt;
        //cout << cnt << " ";
        mi = min(mi,sum/((int)hc.size()-i));
        ans = min(ans,mi);
        //cout << ans << " ";
    }
    return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...