|
@@ -1,15 +1,24 @@
|
|
|
+#include <bits/stdc++.h>
|
|
|
+using namespace std;
|
|
|
int main() {
|
|
|
- int m;
|
|
|
- scanf("%d", &m);
|
|
|
- int n = 2 * m;
|
|
|
- int r = sqrt(n);
|
|
|
- for (int i = r; i >= 1; i--) {
|
|
|
- if (n % i)continue;
|
|
|
- int j = n / i;
|
|
|
- int a = (j - i + 1) / 2;
|
|
|
- int b = (j + i - 1) / 2;
|
|
|
- if (b > a && a + b == j && b - a + 1 == i)
|
|
|
- printf("%d %d\n", a, b);
|
|
|
+ for (int n; cin >> n; ){
|
|
|
+ vector < int > bombs(n);
|
|
|
+ for (auto & b : bombs) {
|
|
|
+ cin >> b;
|
|
|
+ }
|
|
|
+ vector < int > h(bombs.size(), 0);
|
|
|
+ h[0] = 1;
|
|
|
+ for (int i = 1; i < bombs.size(); i++) {
|
|
|
+ int max = 0;
|
|
|
+ for (int j = 0; j < i; j++) {
|
|
|
+ if (bombs[j] >= bombs[i] && h[j] > max) {
|
|
|
+ max = h[j];
|
|
|
+ }
|
|
|
+ h[i] = max + 1;;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cout << * max_element(h.begin(), h.end()) << endl;
|
|
|
}
|
|
|
return 0;
|
|
|
-}
|
|
|
+}
|
|
|
+
|