Submission #72252

#TimeUsernameProblemLanguageResultExecution timeMemory
72252호우주의보 (#118)Box Run (FXCUP3_box)C++17
17 / 100
1087 ms59788 KiB
#pragma GCC optimize("-O3")
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int N,M;
map<int,vector<int> >V;
set<int> S;
int lenn[500005];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>N;
    fill (lenn,lenn+N+1,N+1);
    V[-1000000001].push_back(0);
    for(int i=1;i<=N;i++)
    {
        int T;
        cin>>T;
        V[-T].push_back(i);
    }
    for(auto&I:V)
    {
        for(auto&J:I.second)S.insert(J);
        for(auto&J:I.second)
        {
            auto K=S.lower_bound(J);
            if(K!=S.begin())
            {
                int&R=lenn[J-*(--K)-1];
                R=min(R,J);
            }
        }
    }
    for(int i=N-1;i;i--)lenn[i]=min(lenn[i],lenn[i+1]);
    for(int i=1;i<=N;i++)
    {
        if(lenn[i]==N+1)printf("-1 ");
        else printf("%d ",lenn[i]-i);
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...