| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1353348 | 12345678 | Global Warming (CEOI18_glo) | C++17 | 29 ms | 3920 KiB |
#include <bits/stdc++.h>
using namespace std;
const int nx=2e5+5;
int n, x, a[nx], b[nx], lis[nx], lds[nx], res; // lis[i] = lis when considering prefix i
int main()
{
cin.tie(NULL)->sync_with_stdio(false);
cin>>n>>x;
for (int i=1; i<=n; i++) cin>>a[i], b[i]=-a[i];
vector<int> v;
for (int i=1; i<=n; i++)
{
auto idx=lower_bound(v.begin(), v.end(), a[i])-v.begin();
if (idx==v.size()) v.push_back(a[i]);
else v[idx]=a[i];
lis[i]=v.size();
}
v.clear();
for (int i=n; i>=1; i--)
{
auto idx=lower_bound(v.begin(), v.end(), b[i])-v.begin();
if (idx==v.size()) v.push_back(b[i]);
else v[idx]=b[i];
lds[i]=v.size();
}
for (int i=0; i<=n; i++) res=max(res, lis[i]+lds[i+1]);
cout<<res;
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
