Submission #1258050

#TimeUsernameProblemLanguageResultExecution timeMemory
1258050menkhGlobal Warming (CEOI18_glo)C++17
0 / 100
33 ms3408 KiB
#include <bits/stdc++.h>
using namespace std;

#define MAX 200005
int a[MAX], L[MAX], R[MAX];
int b[MAX];
int n, x;

void solve() {
    scanf("%d", &n, &x);
    for (int i = 1; i <= n; i++) {
        scanf("%d", &a[i]);
        b[i] = a[i];
    }

    vector<int> lis;
    for (int i = 1; i <= n; i++) {
        int k = lower_bound(lis.begin(), lis.end(), a[i]) - lis.begin();
        if (k == lis.size()) lis.push_back(a[i]);
        else lis[k] = a[i];
        L[i] = lis.size();
    }

    reverse(b + 1, b + n + 1);
    lis.clear();

    for (int i = 1; i <= n; i++) {
        int k = lower_bound(lis.begin(), lis.end(), b[i]) - lis.begin();
        if (k == lis.size()) lis.push_back(b[i]);
        else lis[k] = b[i];
        R[n - i + 1] = lis.size();
    }

    int answer = 0;
    for (int i = 0; i <= n; i++) answer = max(answer, L[i] + R[i] - 1);

    printf("%d\n", answer);
}

int main() {
    solve();
}

Compilation message (stderr)

glo.cpp: In function 'void solve()':
glo.cpp:10:11: warning: too many arguments for format [-Wformat-extra-args]
   10 |     scanf("%d", &n, &x);
      |           ^~~~
glo.cpp:10:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |     scanf("%d", &n, &x);
      |     ~~~~~^~~~~~~~~~~~~~
glo.cpp:12:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |         scanf("%d", &a[i]);
      |         ~~~~~^~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...