Submission #535932

#TimeUsernameProblemLanguageResultExecution timeMemory
535932inksamuraiVolontiranje (COCI21_volontiranje)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; #define rep(i,n) for(int i=0;i<n;i++) #define rng(i,x,n) for(int i=x;i<n;i++) #define per(i,n) for(int i=n-1;i>=0;i--) #define fi first #define se second #define pb push_back #define sz(a) (int)a.size() #define vec(...) vector<__VA_ARGS__> #define _3HspL4A ios::sync_with_stdio(0),cin.tie(0) typedef long long ll; using pii=pair<int,int>; using vi=vec(int); void print(){cout<<"\n";} template<class T,class...E> void print(const T&v,const E&...u){cout<<v<<' ',print(u...);} // e pii op(pii l,pii r){ if(l.fi!=r.fi) return l.se>r.se?l:r; return l.fi>r.fi?l:r; } pii e(){ return {0,-1}; } int op1(int l,int r){ return max(l,r); } int e1(){ return -1; } signed main(){ _3HspL4A; int n; cin>>n; vi a(n); rep(i,n) cin>>a[i]; vi id(n); rep(i,n){ a[i]-=1; id[a[i]]=i; } int len; { set<int> st; for(auto x:a){ if(!sz(st)){ st.insert(x); }else{ auto it=st.lower_bound(x); if(it!=st.end()){ st.erase(it); } st.insert(x); } } len=sz(st); } atcoder::segtree<pii,op,e> seg(n); vi nxt(n); rep(i,n){ int x=a[i]; pii val=seg.prod(0,x); nxt[i]=val.se; val.fi++; val.se=x; seg.set(x,val); } pii p=seg.prod(0,n); assert(p.fi==len); vi layer; int i=id[p.se]; while(1){ layer.pb(i); if(nxt[i]==-1) break; i=id[nxt[i]]; } reverse(layer.begin(),layer.end()); atcoder::segtree<int,op1,e1> nseg(a); for(auto v:layer){ nseg.set(v,-1); } vec(vi) pns; pns.pb(layer); vi qol=layer; while(1){ layer={}; per(j,len){ if(qol[j]>=n-1) break; bool pok=1; while(1){ int val=nseg.prod(qol[j]+1,(j==len-1?n:qol[j+1])); if(val==-1){ pok=0; break; } nseg.set(id[val],-1); if(!sz(layer) or a[layer.back()]>val){ layer.pb(id[val]); qol[j]=id[val]; break; } } if(!pok) break; } if(sz(layer)!=len) break; reverse(layer.begin(),layer.end()); pns.pb(layer); } print(sz(pns)); for(auto ids:pns){ for(auto v:ids) cout<<v+1<<" "; print(); } // return 0; }

Compilation message (stderr)

Main.cpp:2:10: fatal error: atcoder/all: No such file or directory
    2 | #include <atcoder/all>
      |          ^~~~~~~~~~~~~
compilation terminated.