# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
689956 | White | Hedgehog Daniyar and Algorithms (IZhO19_sortbooks) | C++14 | 195 ms | 262144 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define endl "\n"
using namespace std;
vector<pair<long long,long long>>ans[1000005];
long long red[1000005];
stack<pair<long long,long long>>s;
long long binary(long long v,long long num){
long long l=0,r=ans[v].size()-1;
while(l<r){
long long mid=(r+l)/2;
if(ans[v][mid].second<num)l=mid+1;
else r=mid;
}
return l;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long n,m;
cin>>n>>m;
for(int i=0;i<n;i++)cin>>red[i];
s.push({red[0],0});
for(int i=1;i<n;i++){
ans[i]=ans[i-1];
while(s.empty()!=true && red[i]>s.top().first)s.pop();
if(s.empty()!=true){
ans[i].push_back({s.top().first+red[i],s.top().second});
for(int j=0;j<ans[i].size()-1;j++){
if(ans[i][j].first<red[ans[i][j].second]+red[i]){
ans[i][j].first=red[ans[i][j].second]+red[i];
}
}
}
s.push({red[i],i});
}
/**
for(int i=0;i<n;i++){
cout<<i<<": ";
for(int j=0;j<ans[i].size();j++){
cout<<ans[i][j].first<<";"<<ans[i][j].second<<" ";
}
cout<<endl;
}
**/
for(int i=0;i<m;i++){
long long a,b,c,now;
cin>>a>>b>>c;
a--;b--;
now=binary(b,a);
if(now>ans[b].size()-1)now=ans[b].size()-1;
if(c>=ans[b][now].first)cout<<1<<endl;
else cout<<0<<endl;
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |