結果
問題 |
No.905 Sorted?
|
ユーザー |
![]() |
提出日時 | 2019-10-22 19:49:01 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 166 ms / 2,000 ms |
コード長 | 1,107 bytes |
コンパイル時間 | 1,637 ms |
コンパイル使用メモリ | 170,124 KB |
実行使用メモリ | 5,760 KB |
最終ジャッジ日時 | 2024-07-04 15:37:13 |
合計ジャッジ時間 | 4,450 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
#include <bits/stdc++.h> using namespace std; using lint = long long int; using pint = pair<int, int>; using plint = pair<lint, lint>; struct fast_ios { fast_ios(){ cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(20); }; } fast_ios_; #define ALL(x) (x).begin(), (x).end() #define SZ(x) ((lint)(x).size()) #define POW2(n) (1LL << (n)) #define FOR(i, begin, end) for(int i=(begin),i##_end_=(end);i<i##_end_;i++) #define IFOR(i, begin, end) for(int i=(end)-1,i##_begin_=(begin);i>=i##_begin_;i--) #define REP(i, n) FOR(i,0,n) #define IREP(i, n) IFOR(i,0,n) template<typename T> istream &operator>>(istream &is, vector<T> &vec){ for (auto &v : vec) is >> v; return is; } int N; vector<lint> A, X, Y; int main() { cin >> N; A.resize(N); cin >> A; X.resize(N); Y.resize(N); IREP(i, N - 1) { if (A[i] <= A[i + 1]) X[i] = X[i + 1] + 1; if (A[i] >= A[i + 1]) Y[i] = Y[i + 1] + 1; } int Q; cin >> Q; REP(_, Q) { int L, R; cin >> L >> R; cout << (X[L] >= R - L) << " " << (Y[L] >= R - L) << endl; } }