제출 #341858

#제출 시각아이디문제언어결과실행 시간메모리
341858boykutHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++14
30 / 100
3087 ms10380 KiB
#include <bits/stdc++.h>

using namespace std;

#define work_with_io ios::sync_with_stdio(0);cin.tie(0);
//#define int long long

signed main() {
	std::work_with_io;
	int q = 1;
	//cin >> q;
	while (q--) {
		int n, m;
		cin >> n >> m;
		int a[n];
		for (int i = 0; i < n; i++) {
			cin >> a[i];
		}
		int mna = *min_element(a, a + n);
		int dp[n];
		dp[0] = 1;
		for (int i = 1; i < n; i++) {
			if (a[i] >= a[i - 1])
				dp[i] = dp[i - 1] + 1;
			else
				dp[i] = 1;
		}
		for (int tmp = m; tmp--;) {
			int l, r, k;
			cin >> l >> r >> k;
			l--;r--;
			if (k < mna) {
				if (r-l+1 <= dp[r])
					cout << "1\n";
				else
					cout << "0\n";
			} else {
				int ans = 1;
				int Bg = a[l];
				for (int left = l+1; left <= r; left++) {
					//int Bg = a[left], Lt = k-a[left];
					// Lt = k-Bg
					if (a[left] < Bg && a[left] > k - Bg)
						ans = 0; 
					Bg = max(Bg, a[left]);
				}
				cout << ans << '\n';
			}
		}
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...