#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(c>=ans[b][now].first)cout<<1<<endl;
else cout<<0<<endl;
}
return 0;
}
Compilation message
sortbooks.cpp: In function 'int main()':
sortbooks.cpp:35:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
35 | for(int j=0;j<ans[i].size()-1;j++){
| ~^~~~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
14 ms |
23768 KB |
Output is correct |
2 |
Runtime error |
32 ms |
48088 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
14 ms |
23768 KB |
Output is correct |
2 |
Runtime error |
32 ms |
48088 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
199 ms |
262144 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
109 ms |
262144 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
14 ms |
23768 KB |
Output is correct |
2 |
Runtime error |
32 ms |
48088 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
14 ms |
23768 KB |
Output is correct |
2 |
Runtime error |
32 ms |
48088 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |