Submission #826969

#TimeUsernameProblemLanguageResultExecution timeMemory
826969LeVanThucStone Arranging 2 (JOI23_ho_t1)C++17
100 / 100
166 ms19892 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define p(x,y) pair<ll,ll>(x,y) #define BIT(i,x) ((x>>i)&1) #define MASK(x) (1<<x) #define ld long double #define __builtin_popcount __builtin_popcountll #define pll pair<ll,ll> template<class T1,class T2> bool maximize(T1 &x,const T2 &y) { if(x<y) { x=y; return 1; } return 0; } template<class T1,class T2> bool minimize(T1 &x,const T2 &y) { if(x>y) { x=y; return 1; } return 0; } void online() { std::ios_base::sync_with_stdio(0); cin.tie(0); } ll n; int main() { online(); cin>>n; set<pll> S; vector<pll> vt; for(int i=1;i<=n;i++) { ll x; cin>>x; if(vt.empty()) { vt.emplace_back(x,i); S.emplace(x,i); continue; } bool flag=1; auto z=S.lower_bound(p(x,i)); if(z!=S.begin()) { z--; if((*z).fi==x) { ll y=(*z).se; while(vt.back().se>y) { S.erase(vt.back()); vt.pop_back(); } flag=0; } } if(flag) { S.emplace(x,i); vt.emplace_back(x,i); } } ll j=0,vl=0; for(int i=1;i<=n;i++) { if(j<vt.size()&&vt[j].se==i) { vl=vt[j].fi; j++; } cout<<vl<<'\n'; } }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:80:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   80 |         if(j<vt.size()&&vt[j].se==i)
      |            ~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...