Submission #149355

#TimeUsernameProblemLanguageResultExecution timeMemory
149355TLEWA맞 (#200)HicCup (FXCUP4_hiccup)C++17
100 / 100
135 ms76536 KiB
#include "hiccup.h"
#include<bits/stdc++.h>
using namespace std;
vector <int> child[1010101];
int par[1010101];
priority_queue<int,vector<int>,greater<int> > pq[1001010];
int pnt;
int HicCup(std::string S) {
    int H=0,C=0,A=0;
    int cnt;
    int N=S.size();
    int c=0;
    int flag=0;
    for(int i=0;i<N;i++){
        if(!flag&&S[i]=='H')flag=1;
        if(S[i]=='H'&&i<N-1&&S[i+1]=='!'){
            return -1;
        }
        if(S[i]=='H'){
            H++;
            child[c].push_back(++pnt);
            par[pnt]=c;
            c=pnt;
        }
        if(!flag&&S[i]=='C'){
            return -1;
        }
        if(S[i]=='C'){
            C++;
            c=par[c];
            if(C>H)return -1;
            pq[c].push(0);
            cnt=0;
        }
        if(!flag&&S[i]=='!'){
            return -1;
        }
        if(flag&&S[i]=='!'){
            int k=pq[c].top();
            pq[c].pop();
            pq[c].push(k+1);
            cnt++;
        }
    }
    int ret=1010101010;
    if(H!=C)return -1;
    for(int i=0;i<N;i++){
        if(!pq[i].empty()){
            ret=min(pq[i].top(),ret);
        }
    }
    return ret;;
}

Compilation message (stderr)

hiccup.cpp: In function 'int HicCup(std::__cxx11::string)':
hiccup.cpp:9:17: warning: unused variable 'A' [-Wunused-variable]
     int H=0,C=0,A=0;
                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...