new file: P1020.cpp

This commit is contained in:
hanyixuanten
2026-08-12 19:54:36 +08:00
parent c417372c49
commit d4a6ba9dcb
3 changed files with 51 additions and 0 deletions
+1
View File
@@ -3,4 +3,5 @@
!.gitignore !.gitignore
!README.md !README.md
!*.md !*.md
!clean.sh
tmp.md tmp.md
+48
View File
@@ -0,0 +1,48 @@
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 3;
int n, t, a[MAXN], f[MAXN];
int main()
{
freopen("test.in", "r", stdin);
while (~scanf("%d", &a[++n]))
;
--n;
f[0] = INT_MAX;
for (int i = 1; i <= n; ++i)
{
int l = 0, r = t + 1;
while (r - l > 1)
{
int m = l + (r - l) / 2;
if (f[m] >= a[i])
l = m;
else
r = m;
}
int x = l + 1;
if (x > t)
t = x;
f[x] = a[i];
}
printf("%d\n", t);
t = 0, memset(f, 0, sizeof(f)), f[0] = 0;
for (int i = 1; i <= n; ++i)
{
int l = 0, r = t + 1;
while (r - l > 1)
{
int m = l + (r - l) / 2;
if (f[m] < a[i])
l = m;
else
r = m;
}
int x = l + 1;
if (x > t)
t = x;
f[x] = a[i];
}
printf("%d\n", t);
return 0;
}
Executable
+2
View File
@@ -0,0 +1,2 @@
find . -maxdepth 1 -type f ! -name "*.*" -executable -delete
rm -rf *.in *.out