結果
問題 | No.905 Sorted? |
ユーザー |
![]() |
提出日時 | 2019-10-11 22:07:36 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 211 ms / 2,000 ms |
コード長 | 1,553 bytes |
コンパイル時間 | 926 ms |
コンパイル使用メモリ | 109,640 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-25 07:35:08 |
合計ジャッジ時間 | 4,243 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
#include <iostream>#include <vector>#include <algorithm>#include <map>#include <set>#include <cmath>#include <cstring>#include <iomanip>#include <random>#include <chrono>#include <queue>#include <ctime>#include <cassert>using namespace std;typedef long long ll;typedef pair<int, int> PII;typedef pair<ll, ll> PLL;#define fs first#define sc second#define INF 1000000000#define MOD 1000000007#define EPS 0.00000001int main() {int N; cin >> N;vector<ll> A(N);for(ll &a:A){cin >> a;}vector<int> inc(N);vector<int> dec(N);int s = 0;int e = 1;for(int i=0; i<N-1; i++){if(A[i+1] >= A[i]) e++;else {for(int j=s; j<e; j++){inc[j] = e-1;}e = i+2;s = i+1;}}for(int j=s; j<e; j++){inc[j] = e-1;}s = 0;e = 1;for(int i=0; i<N-1; i++){if(A[i+1] <= A[i]) e++;else {for(int j=s; j<e; j++){dec[j] = e-1;}e = i+2;s = i+1;}}for(int j=s; j<e; j++){dec[j] = e-1;}int Q; cin >> Q;vector<int> L(Q), R(Q);for(int i=0; i<Q; i++){cin >> L[i] >> R[i];}for(int i=0; i<Q; i++){if(inc[L[i]] >= R[i]) cout << 1 << " ";else cout << 0 << " ";if(dec[L[i]] >= R[i]) cout << 1 << endl;else cout << 0 << endl;}return 0;}