12912022-03-30 14:08:19k_balintNemzetközi Rántott Hús Fesztiválcpp14Hibás válasz 23/100120ms31180 KiB
#include <bits/stdc++.h>
using namespace std;

int n;
string s;
int suf[1000006];
int best[1000006];
stack<int> st;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin>>n>>s;

    for(int i=n-1;i>=0;i--){
        if(s[i]=='H'){
            best[i]=i;
            st.push(i);
        }
        else{
            if(!st.empty()) st.pop();
            best[i]=st.empty()?n:st.top();
        }
    }

    for(int i=n-1;i>=0;i--){
        suf[i]=suf[i+1]+(s[i]=='K');
    }

    for(int i=0;i<n;i++){
        if(best[i] != n){
            cout << (best[i]-i)/2 << ' ';
        }

        else{
            cout << min((n-i)/2,n-i-suf[i]) << ' ';
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva2ms1820 KiB
2Hibás válasz2ms1984 KiB
subtask20/7
3Hibás válasz1ms1872 KiB
4Elfogadva1ms1876 KiB
subtask39/9
5Elfogadva2ms1936 KiB
6Elfogadva2ms1952 KiB
7Elfogadva2ms1956 KiB
subtask414/14
8Elfogadva101ms20660 KiB
9Elfogadva103ms21636 KiB
10Elfogadva105ms22636 KiB
11Elfogadva103ms23672 KiB
12Elfogadva100ms24644 KiB
13Elfogadva112ms25632 KiB
14Elfogadva100ms26612 KiB
15Elfogadva93ms27552 KiB
subtask50/11
16Hibás válasz1ms8008 KiB
17Elfogadva1ms8020 KiB
18Elfogadva1ms8020 KiB
subtask60/29
19Hibás válasz2ms8068 KiB
20Elfogadva2ms8080 KiB
21Elfogadva2ms8164 KiB
22Elfogadva2ms8092 KiB
subtask70/30
23Hibás válasz104ms26788 KiB
24Elfogadva120ms27824 KiB
25Elfogadva108ms26768 KiB
26Hibás válasz111ms27708 KiB
27Elfogadva104ms28704 KiB
28Elfogadva109ms27712 KiB
29Elfogadva104ms28648 KiB
30Hibás válasz104ms29628 KiB
31Hibás válasz104ms28392 KiB
32Elfogadva107ms27468 KiB
33Elfogadva109ms28444 KiB
34Elfogadva104ms28444 KiB
35Elfogadva109ms28408 KiB
36Elfogadva94ms29384 KiB
37Elfogadva96ms28196 KiB
38Elfogadva98ms29176 KiB
39Elfogadva96ms30164 KiB
40Elfogadva97ms31180 KiB