Submission #987341

#TimeUsernameProblemLanguageResultExecution timeMemory
987341lucriEditor (BOI15_edi)C++17
35 / 100
3026 ms10836 KiB
#include <bits/stdc++.h> using namespace std; long long n,v[300010],ans[300010],ant[300010]; int main() { cin>>n; for(int i=1;i<=n;++i) { cin>>v[i]; if(v[i]>0) { ans[i]=v[i]; ant[i]=i-1; continue; } int poz=i-1; while(v[poz]<=v[i]) { poz=ant[poz]; } ant[i]=poz-1; ans[i]=ans[ant[i]]; } for(int i=1;i<=n;++i) cout<<ans[i]<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...