Submission #1241619

#TimeUsernameProblemLanguageResultExecution timeMemory
1241619JerGlobal Warming (CEOI18_glo)C++20
28 / 100
2096 ms2632 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 2e5 + 5;
int a[MAXN], d[MAXN], s[MAXN];
int n, x;

int maked(int i)
{
    if (d[i] != -1)
        return d[i];

    int res = 1;

    for (int j = i + 1; j < n; j++)
        if (a[i] < a[j])
            res = max(res, maked(j) + 1);

    return (d[i] = res);
}

int makes(int i)
{
    if (s[i] != -1)
        return s[i];

    int res = 1;
    for (int j = i - 1; j >= 0; j--)
        if (a[i] > a[j])
            res = max(res, makes(j) + 1);

    return (s[i] = res);
}

int main()
{
    scanf("%d%d", &n, &x);

    for (int i = 0; i < n; i++)
        scanf("%d", &a[i]);

    fill(d, d + n, -1);
    fill(s, s + n, -1);

    for (int i = 0; i < n; i++)
        maked(i), makes(i);

    int res = 0;
    for (int i = 0; i < n; i++)
        for (int j = i + 1; j < n; j++)
            if (a[i] - x < a[j])
                res = max(res, s[i] + d[j]);

    printf("%d\n", res);

    return 0;
}

Compilation message (stderr)

glo.cpp: In function 'int main()':
glo.cpp:38:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   38 |     scanf("%d%d", &n, &x);
      |     ~~~~~^~~~~~~~~~~~~~~~
glo.cpp:41:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |         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...