제출 #72256

#제출 시각아이디문제언어결과실행 시간메모리
72256호우주의보 (#118)박스런 (FXCUP3_box)C++17
100 / 100
971 ms32992 KiB
#pragma GCC optimize("-O3") #include<bits/stdc++.h> using namespace std; typedef long long ll; int N,M; vector<tuple<int,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.push_back(make_tuple(-1000000001,0)); for(int i=1;i<=N;i++) { int T; cin>>T; V.push_back(make_tuple(-T,i)); } sort(V.begin(),V.end()); for(int i=0;i<V.size();) { for(int j=i;get<0>(V[i])==get<0>(V[j]);j++) S.insert(get<1>(V[j])); for(int j=i;get<0>(V[i])==get<0>(V[j]);j++) { auto K=S.lower_bound(get<1>(V[j])); if(K!=S.begin()) { int&R=lenn[get<1>(V[j])-*(--K)-1]; R=min(R,get<1>(V[j])); } } for(i++;get<0>(V[i])==get<0>(V[i-1]);i++); } 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); } }

컴파일 시 표준 에러 (stderr) 메시지

box.cpp: In function 'int main()':
box.cpp:23:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<V.size();)
                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...