Submission #491763

#TimeUsernameProblemLanguageResultExecution timeMemory
491763reniHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++14
64 / 100
457 ms262148 KiB
#include<iostream> #include<stack> #define endl '\n' #include<vector> using namespace std; long long maxi[5000000], a[5000000]; stack< pair<long long,long long> >st; vector< pair< pair<long long,long long>, long long > >mm[10000000]; bool rez[10000000]; void update(long long le,long long ri,long long node,long long ind,long long val) { if(le>node || ri<node)return; if(le==ri) { maxi[ind]=max(maxi[ind],val);return; } long long mid=(le+ri)/2; update(le,mid,node,2*ind,val); update(mid+1,ri,node,2*ind+1,val); maxi[ind]=max(maxi[2*ind],maxi[2*ind+1]); } long long query(long long le,long long ri,long long l,long long r,long long ind) { if(le>r || ri<l)return 0; if(l<=le && ri<=r) { return maxi[ind]; } long long mid=(le+ri)/2; long long r1,r2; r1=query(le,mid,l,r,2*ind); r2=query(mid+1,ri,l,r,2*ind+1); return max(r1,r2); } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long i,j,n,m,l,r,k,p; cin>>n>>m; for(i=1;i<=n;i++) { cin>>a[i]; } for(i=1;i<=m;i++) { cin>>l>>r>>k; mm[r].push_back({ {l,k}, i}); } for(i=1;i<=n;i++) { while(!st.empty() && st.top().first<=a[i])st.pop(); if(st.empty()) { } else { update(1,n,st.top().second,1,a[i]+st.top().first); } for(j=0;j<mm[i].size();j++) { long long ll=mm[i][j].first.first, k=mm[i][j].first.second, ind=mm[i][j].second; rez[ind]=max(rez[ind],query(1,n,ll,i,1)<=k); } st.push({a[i],i}); } for(i=1;i<=m;i++) { cout<<rez[i]<<endl; } } /* 5 3 3 5 1 8 2 1 3 6 2 5 3 3 5 10 */

Compilation message (stderr)

sortbooks.cpp: In function 'int main()':
sortbooks.cpp:75:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<std::pair<long long int, long long int>, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   75 |         for(j=0;j<mm[i].size();j++)
      |                 ~^~~~~~~~~~~~~
sortbooks.cpp:47:29: warning: unused variable 'p' [-Wunused-variable]
   47 |     long long i,j,n,m,l,r,k,p;
      |                             ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...