結果
問題 |
No.905 Sorted?
|
ユーザー |
|
提出日時 | 2019-10-11 19:04:27 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 213 ms / 2,000 ms |
コード長 | 815 bytes |
コンパイル時間 | 599 ms |
コンパイル使用メモリ | 71,768 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-25 01:52:31 |
合計ジャッジ時間 | 3,960 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
#include<iostream> #include<vector> #include<cassert> using namespace std; typedef long long ll; const int N_MAX = 100000; const ll A_MAX = 1000000000000000000; int main(){ int n; cin >> n; assert(1 <= n && n <= N_MAX); vector<ll> v(n); for(int i = 0; i < n; i++) cin >> v[i], assert(-A_MAX <= v[i] && v[i] <= A_MAX); vector<int> gt(n, 0), lt(n, 0); for(int i = 1; i < n; i++){ gt[i] = gt[i-1] + (v[i-1] <= v[i]); lt[i] = lt[i-1] + (v[i-1] >= v[i]); } int q; cin >> q; assert(1 <= q && q <= N_MAX); while(q-- > 0){ int l, r; cin >> l >> r; assert(0 <= l && l <= r && r <= n-1); bool asc = (gt[r]-gt[l]) == r-l; bool dec = (lt[r]-lt[l]) == r-l; cout << asc << " " << dec << endl; } return 0; }