Submission #332352

#TimeUsernameProblemLanguageResultExecution timeMemory
332352YJUBubble Sort 2 (JOI18_bubblesort2)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #pragma GCC optimize("unroll-loops,no-stack-protector") using namespace std; typedef int ll; typedef long double ld; typedef pair<ll,ll> pll; const ll MOD=1e9+7; const ll MOD2=998244353; const ll N=5e5+5; const ll K=350; const ld pi=acos(-1); const ll INF=(1LL<<30); #define SQ(i) ((i)*(i)) #define REP(i,n) for(ll i=0;i<n;i++) #define REP1(i,n) for(ll i=1;i<=n;i++) #define pb push_back #define mp make_pair #define setp setprecision #define lwb lower_bound #define SZ(_a) (ll)_a.size() ll tag[4*N],ma[4*N]; set<ll> cnt[4*N]; vector<ll> lis; void push(ll id){ if(tag[id]){ tag[id*2]+=tag[id]; ma[id*2]+=tag[id]; tag[id*2+1]+=tag[id]; ma[id*2+1]+=tag[id]; tag[id]=0; } } void add(ll id,ll l,ll r,ll ql,ll qr,ll val){ if(l>=ql&&r<=qr){tag[id]+=val;ma[id]+=val;return;} if(l>=qr||r<=ql)return ; ll mid=(l+r)/2; push(id); add(id*2,l,mid,ql,qr,val); add(id*2+1,mid,r,ql,qr,val); ma[id]=max(ma[id*2],ma[id*2+1]); } void upd(ll to,ll val,ll ty){ while(SZ(cnt[to])==0); ll D=*prev(cnt[to].end()); if(ty==0)cnt[to].erase(val); else cnt[to].insert(val); D=*prev(cnt[to].end())-D; add(1,1,SZ(lis)+1,to,to+1,D); add(1,1,SZ(lis)+1,to,SZ(lis)+1,(ty?-1:1)); } vector<ll> countScans(vector<ll> A,vector<ll> X,vector<ll> V){ vector<ll> ans; ll maa=0; for(auto i:A)lis.pb(i);for(auto i:V)lis.pb(i); lis.resize(unique(lis.begin(),lis.end())-lis.begin()); for(auto &i:A)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i); for(auto &i:V)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i); REP(i,maa+1)cnt[i].insert(-1); REP(i,SZ(A))upd(A[i],i,1); REP(i,SZ(X)){ upd(A[X[i]],X[i],0); upd(A[X[i]]=V[i],X[i],1); ans.pb(ma[1]); } return ans; } /* int main(){ vector<ll> A,X,V; ll n,q,x; cin>>n>>q; REP(i,n)cin>>x,A.pb(x); REP(i,q)cin>>x,X.pb(x),cin>>x,V.pb(x); vector<ll> ans=countScans(A,X,V); for(ll i:ans)cout<<i<<"\n"; } //*/

Compilation message (stderr)

bubblesort2.cpp: In function 'std::vector<int> countScans(std::vector<int>, std::vector<int>, std::vector<int>)':
bubblesort2.cpp:59:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   59 |  for(auto i:A)lis.pb(i);for(auto i:V)lis.pb(i);
      |  ^~~
bubblesort2.cpp:59:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   59 |  for(auto i:A)lis.pb(i);for(auto i:V)lis.pb(i);
      |                         ^~~
bubblesort2.cpp:61:73: error: no matching function for call to 'max(ll [2000020], int&)'
   61 |  for(auto &i:A)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from bubblesort2.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:222:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  222 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:222:5: note:   template argument deduction/substitution failed:
bubblesort2.cpp:61:73: note:   deduced conflicting types for parameter 'const _Tp' ('int [2000020]' and 'int')
   61 |  for(auto &i:A)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from bubblesort2.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:268:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  268 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:268:5: note:   template argument deduction/substitution failed:
bubblesort2.cpp:61:73: note:   deduced conflicting types for parameter 'const _Tp' ('int [2000020]' and 'int')
   61 |  for(auto &i:A)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from bubblesort2.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3456:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3456 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3456:5: note:   template argument deduction/substitution failed:
bubblesort2.cpp:61:73: note:   mismatched types 'std::initializer_list<_Tp>' and 'll*' {aka 'int*'}
   61 |  for(auto &i:A)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from bubblesort2.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3462:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3462 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3462:5: note:   template argument deduction/substitution failed:
bubblesort2.cpp:61:73: note:   mismatched types 'std::initializer_list<_Tp>' and 'll*' {aka 'int*'}
   61 |  for(auto &i:A)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^
bubblesort2.cpp:62:73: error: no matching function for call to 'max(ll [2000020], int&)'
   62 |  for(auto &i:V)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from bubblesort2.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:222:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  222 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:222:5: note:   template argument deduction/substitution failed:
bubblesort2.cpp:62:73: note:   deduced conflicting types for parameter 'const _Tp' ('int [2000020]' and 'int')
   62 |  for(auto &i:V)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from bubblesort2.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:268:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  268 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:268:5: note:   template argument deduction/substitution failed:
bubblesort2.cpp:62:73: note:   deduced conflicting types for parameter 'const _Tp' ('int [2000020]' and 'int')
   62 |  for(auto &i:V)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from bubblesort2.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3456:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3456 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3456:5: note:   template argument deduction/substitution failed:
bubblesort2.cpp:62:73: note:   mismatched types 'std::initializer_list<_Tp>' and 'll*' {aka 'int*'}
   62 |  for(auto &i:V)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from bubblesort2.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3462:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3462 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3462:5: note:   template argument deduction/substitution failed:
bubblesort2.cpp:62:73: note:   mismatched types 'std::initializer_list<_Tp>' and 'll*' {aka 'int*'}
   62 |  for(auto &i:V)i=lwb(lis.begin(),lis.end(),i)-lis.begin()+1,maa=max(ma,i);
      |                                                                         ^