244552026-02-11 20:43:42ubormaciA Magnan desszertjeicpp17Accepted 100/100107ms6316 KiB
#include <iostream>
#include <algorithm> // for sort, mainly
#include <vector>
#include <map>
#include <set>
#include <cmath>
#include <array>
#include <string>
#include <cstdio>
#include <iterator>
#include <unordered_set>
#include <cstdint> // for int64_t, int32_t, etc
#include <queue>
#include <stack>
#include <deque>
#include <numeric> // gcd, lcm
#include <fstream>
#include <bitset> // for bitset
#include <iomanip>
#include <cassert> // for set with custom ordering
#include <type_traits> // for set with custom ordering
#include <utility> // for swap, forward, etc
using namespace std;

#pragma GCC optimize("O2")
// #pragma GCC optimize("O1","O2","O3","Ofast","unroll-loops")
// #pragma GCC target("sse","sse2","sse3","sse4.1","sse4.2","avx","avx2","fma")

template<typename A, typename B> ostream& operator<<(ostream &os, const pair<A, B> &p) { return os << '(' << p.first << ", " << p.second << ')'; }
template<typename T_container, typename T = typename enable_if<!is_same<T_container, string>::value, typename T_container::value_type>::type> ostream& operator<<(ostream &os, const T_container &v) { os << '{'; string sep; for (const T &x : v) os << sep << x, sep = ", "; return os << '}'; }
void dbg_out() { cout << endl; }
template<typename Head, typename... Tail> void dbg_out(Head H, Tail... T) { cout << ' ' << H; dbg_out(T...); }
#ifdef LOCAL
#define dbg(...) cout << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__)
#else
#define dbg(...)
#endif

/*

notes:

int64_t
stoi(string s) -> string to int
to_string() -> int (or else) to string

vector declaration:
vector<ll> v(n, 0)
vector<vector<ll>> v(n, vector<ll>(n, 0));

{if statement} ? {truth value} : {false value}

#ifdef LOCAL
    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
#endif

std::lcm(ll a, ll b), std::gcd(int a, int b)

cout << fixed << setprecision(n);

set with custom ordering
set<ll, decltype(&cmp)> qu(cmp);

*/

typedef int64_t ll;

void solve() {

	ll n, p;
	cin >> n >> p;

	vector<ll> s(n, 0);
	vector<ll> f(n, 0);

	vector<ll> cons;

	for(ll i = 0; i < n; i++) {
		cin >> s[i];
	}
	for(ll i = 0; i < n; i++) {
		cin >> f[i];

		if(f[i] == p) {
			cons.push_back(s[i]);
		}
	}

	sort(cons.begin(), cons.end());

	//cerr << "\ncons=" << cons;

	ll q;
	cin >> q;
	for(ll qi =0; qi < q; qi++) {
		ll l, r, k;
		cin >> l >> r >> k;

		if(cons.empty()) {
			cout << "NO\n";
			continue;
		}

		if(l > cons.back()) {
			cout << "NO\n";
			continue;
		}
		if(r < cons[0]) {
			cout << "NO\n";
			continue;
		}

		ll li = lower_bound(cons.begin(), cons.end(), l) - cons.begin();
		ll ri = prev(upper_bound(cons.begin(), cons.end(), r)) - cons.begin();

		ll have = ri - li + 1;

		if(have < k) {
			cout << "NO\n";
		}else{
			cout << "YES\n";
		}

	}

}

int main()
{
	std::ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);

	solve();

	return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms508 KiB
2Accepted1ms316 KiB
subtask220/20
3Accepted1ms316 KiB
4Accepted1ms508 KiB
5Accepted1ms316 KiB
6Accepted1ms316 KiB
7Accepted3ms316 KiB
8Accepted2ms316 KiB
9Accepted4ms572 KiB
10Accepted4ms564 KiB
11Accepted4ms688 KiB
12Accepted4ms692 KiB
13Accepted4ms724 KiB
subtask315/15
14Accepted50ms3344 KiB
15Accepted68ms2984 KiB
16Accepted97ms5808 KiB
17Accepted100ms5808 KiB
18Accepted101ms2988 KiB
19Accepted93ms2484 KiB
20Accepted90ms2484 KiB
21Accepted100ms5808 KiB
22Accepted100ms2808 KiB
subtask45/5
23Accepted37ms3220 KiB
24Accepted75ms2992 KiB
25Accepted78ms4464 KiB
26Accepted76ms5932 KiB
27Accepted72ms6068 KiB
subtask560/60
28Accepted1ms316 KiB
29Accepted1ms508 KiB
30Accepted1ms316 KiB
31Accepted1ms316 KiB
32Accepted3ms316 KiB
33Accepted2ms316 KiB
34Accepted4ms572 KiB
35Accepted4ms564 KiB
36Accepted4ms688 KiB
37Accepted4ms692 KiB
38Accepted4ms724 KiB
39Accepted50ms3344 KiB
40Accepted68ms2984 KiB
41Accepted97ms5808 KiB
42Accepted100ms5808 KiB
43Accepted101ms2988 KiB
44Accepted93ms2484 KiB
45Accepted90ms2484 KiB
46Accepted100ms5808 KiB
47Accepted100ms2808 KiB
48Accepted37ms3220 KiB
49Accepted75ms2992 KiB
50Accepted78ms4464 KiB
51Accepted76ms5932 KiB
52Accepted72ms6068 KiB
53Accepted46ms1588 KiB
54Accepted61ms3836 KiB
55Accepted68ms1976 KiB
56Accepted82ms2480 KiB
57Accepted92ms5296 KiB
58Accepted105ms6112 KiB
59Accepted100ms2736 KiB
60Accepted104ms6056 KiB
61Accepted107ms6316 KiB
62Accepted104ms6064 KiB
63Accepted101ms5808 KiB
64Accepted94ms2480 KiB
65Accepted96ms2736 KiB
66Accepted93ms2740 KiB
67Accepted96ms5812 KiB
68Accepted107ms6048 KiB
69Accepted86ms2356 KiB