-
Notifications
You must be signed in to change notification settings - Fork 0
/
11054.cpp
executable file
·74 lines (67 loc) · 1.55 KB
/
11054.cpp
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
66
67
68
69
70
71
72
73
74
// #include<iostream>
// #include<sstream>
// #include<fstream>
// #include<string>
// #include<algorithm>
// #include<cmath>
// #include<stdexcept>
// #include<memory>
// #include<vector>
// #include<list>
// #include<map>
// #include<set>
// #include<numeric>
// using namespace std;
// int main(){
// int n;
// cin >> n;
// int cycle = n;
// vector<int> numbers;
// numbers.push_back(0);
// while(cycle >0){
// int number;
// cin >> number;
// numbers.push_back(number);
// --cycle;
// }
// vector<int> forward(n+1);
// vector<int> reverse(n+1);
// vector<int> counts(n+1);
// forward[0] = 0;
// reverse[0] = 0;
// forward[1] = 0;
// reverse[n] = 0;
// counts[0] = 0;
// for(int i=1; i<=n; i++){
// int forward_max = 0;
// for(int j=1; j<i;j++){
// if(numbers[j] < numbers[i]){
// if(forward_max < forward[j]){
// forward_max = forward[j];
// }
// }
// }
// forward[i] = forward_max+1;
// }
// for(int i = n; i>=1; i--){
// int reverse_max = 0;
// for(int k=n; k>i; k--){
// if(numbers[k] < numbers[i]){
// if(reverse_max < reverse[k]){
// reverse_max = reverse[k];
// }
// }
// }
// reverse[i] = reverse_max+1;
// counts[i] = forward[i] + reverse[i] - 1;
// }
// // for(auto p:forward){
// // cout << p << " ";
// // }
// // cout << '\n';
// // for(auto p: reverse){
// // cout << p << " ";
// // }
// // cout << '\n';
// cout << *max_element(counts.begin(),counts.end()) << '\n';
// }