# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
149355 | TLEWA맞 (#200) | HicCup (FXCUP4_hiccup) | C++17 | 135 ms | 76536 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |