Submission #76029


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <bits/stdc++.h>
using namespace std;
template <class A, class B> inline bool chmax(A &a, const B &b) { return b > a && (a = b, true); }
template <class A, class B> inline bool chmin(A &a, const B &b) { return b < a && (a = b, true); }
#define fi first
#define se second
#define pii pair<int, int>
const int mx[]={1, 0, -1, 0}, my[]={0, -1, 0, 1};
const long long MOD=998244353;
const int INF=numeric_limits<int>::max();
int main() {
int n;
vector<int> a, b;
vector<pii> array;
int min_b, max_b, cum_max_b, val_a;
bool clear;
cin >> n;
a.assign(n, 0);
b.assign(n, 0);
for (int i=0; i<n; i++) {
cin >> a[i];
}
for (int i=0; i<n; i++) {
cin >> b[i];
}
for (int i=0; i<n; i++ ) {
array.push_back(make_pair(a[i], b[i]));
}
sort(array.begin(), array.end(), [](auto &l, auto &r){
return l.fi < r.fi;
});
array.push_back(make_pair(INF, INF)); // 番兵
clear = true;
cum_max_b = 0; // 今まで見てきたb[i]の最大
for (int i=0; i<n;) {
val_a = array[i].fi;
max_b = 0; // a[i]が等しいものの中でのb[i]の最大
min_b = INF; // a[i]が等しいものの中でのb[i]の最小
while (val_a == array[i].fi) {
chmax(max_b, array[i].se);
chmin(min_b, array[i].se);
i++;
}
clear &= (min_b > cum_max_b);
chmax(cum_max_b, max_b);
}
if (clear) {
cout << "Yes\n";
} else {
cout << "No\n";
}
return 0;
}

ステータス

項目 データ
問題 1662 - Hierarchy
ユーザー名 syoribu
投稿日時 2023-09-13 08:31:51
言語 C++17
状態 Accepted
得点 3
ソースコード長 1505 Byte
最大実行時間 136 ms
最大メモリ使用量 4496 KB

セット

セット 得点 Cases
1 ALL 3 / 3 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
00_sample_00.in AC 25 ms 604 KB
1
00_sample_01.in AC 17 ms 452 KB
1
01_small_00.in AC 18 ms 424 KB
1
01_small_01.in AC 22 ms 524 KB
1
01_small_02.in AC 14 ms 496 KB
1
01_small_03.in AC 26 ms 464 KB
1
01_small_04.in AC 22 ms 432 KB
1
02_corner_minimum_00.in AC 20 ms 408 KB
1
02_corner_minimum_01.in AC 27 ms 512 KB
1
02_corner_minimum_02.in AC 29 ms 608 KB
1
02_corner_minimum_03.in AC 24 ms 704 KB
1
02_corner_minimum_04.in AC 21 ms 680 KB
1
02_corner_minimum_05.in AC 24 ms 524 KB
1
02_corner_minimum_06.in AC 18 ms 500 KB
1
02_corner_minimum_07.in AC 23 ms 472 KB
1
02_corner_minimum_08.in AC 17 ms 572 KB
1
02_corner_minimum_09.in AC 20 ms 672 KB
1
02_corner_minimum_10.in AC 19 ms 512 KB
1
03_general_00.in AC 24 ms 612 KB
1
03_general_01.in AC 21 ms 584 KB
1
04_random_00.in AC 25 ms 684 KB
1
04_random_01.in AC 19 ms 648 KB
1
04_random_02.in AC 19 ms 616 KB
1
04_random_03.in AC 21 ms 580 KB
1
05_large_00.in AC 29 ms 676 KB
1
05_large_01.in AC 24 ms 752 KB
1
05_large_02.in AC 18 ms 780 KB
1
05_large_03.in AC 20 ms 856 KB
1
06_corner_maximum_00.in AC 131 ms 4320 KB
1
06_corner_maximum_01.in AC 126 ms 4472 KB
1
06_corner_maximum_02.in AC 136 ms 4496 KB
1
06_corner_maximum_03.in AC 135 ms 4388 KB
1
07_corner_critical_00.in AC 133 ms 4408 KB
1
07_corner_critical_01.in AC 123 ms 4432 KB
1
07_corner_critical_02.in AC 117 ms 4328 KB
1
07_corner_critical_03.in AC 101 ms 4356 KB
1
07_corner_critical_04.in AC 97 ms 4384 KB
1