結果
問題 |
No.905 Sorted?
|
ユーザー |
![]() |
提出日時 | 2019-10-12 00:37:26 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 196 ms / 2,000 ms |
コード長 | 891 bytes |
コンパイル時間 | 1,618 ms |
コンパイル使用メモリ | 172,548 KB |
実行使用メモリ | 7,928 KB |
最終ジャッジ日時 | 2024-11-25 21:50:38 |
合計ジャッジ時間 | 4,762 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define int long long #define REP(i,n) for(int i = 0;i < (int)(n);i++) #define FOR(i,s,n) for(int i = s;i < (int)n;i++) #define RREP(i,n) for(int i = (int)n-1;i >= 0;i--) template<class T>inline bool CHMAX(T&a,T b){if(a<b){a = b;return true;}return false;} template<class T>inline bool CHMIN(T&a,T b){if(a>b){a = b;return true;}return false;} signed main(){ int N; cin >> N; vector<int> a(N); for(auto& e:a)cin >> e; vector<int>up(N,N-1); RREP(i,N-1){ if(a[i]<=a[i+1])up[i]=up[i+1]; else up[i]=i; } vector<int>lo(N,0); FOR(i,1,N){ if(a[i-1]>=a[i])lo[i]=lo[i-1]; else lo[i]=i; } vector<pair<int,int>>ans; int Q; cin >> Q; while(Q--){ int l,r; cin >> l >> r; pair<int,int>p={0,0}; if(up[l]>=r)p.first = 1; if(lo[r]<=l)p.second = 1; ans.push_back(p); } for(auto e:ans){ cout<<e.first<<" "<<e.second<<endl; } }