Submission #49956489
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
const int maxn = 5e5 + 10;
int n,k;
int a[maxn];
int dp[maxn];
namespace Segment
{
int tr[maxn << 2];
#define ls p << 1
#define rs p << 1 | 1
void pushup(int p)
{
tr[p] = max(tr[ls],tr[rs]);
}
void update(int p,int l,int r,int pos,int v)
{
if(l == r)
{
tr[p] = v;
return ;
}
int mid = l + r >> 1;
if(pos <= mid)
{
update(ls,l,mid,pos,v);
}
else
{
update(rs,mid + 1,r,pos,v);
}
pushup(p);
}
int query(int p,int l,int r,int L,int R)
{
if(L <= l && r <= R)
{
return tr[p];
}
int ans = 0;
int mid = l + r >> 1;
if(L <= mid)
{
ans = max(ans,query(ls,l,mid,L,R));
}
if(R > mid)
{
ans = max(ans,query(rs,mid + 1,r,L,R));
}
return ans;
}
}using namespace Segment;
int main()
{
cin >> n >> k;
int maxx = 0;
for(int i = 1;i <= n;i++)
{
cin >> a[i];
maxx = max(maxx,a[i]);
}
dp[1] = 1;
update(1,1,maxx,a[1],dp[1]);
for(int i = 2;i <= n;i++)
{
dp[i] = query(1,1,maxx,max(0,a[i] - k),a[i] + k) + 1;
update(1,1,maxx,a[i],dp[i]);
}
int ans = 0;
for(int i = 1;i <= n;i++)
{
ans = max(ans,dp[i]);
}
cout << ans;
return 0;
}
Submission Info
Submission Time
2024-02-03 22:04:03+0900
Task
E - Smooth Subsequence
User
feather_life
Language
C++ 20 (gcc 12.2)
Score
525
Code Size
1556 Byte
Status
AC
Exec Time
326 ms
Memory
11576 KiB
Compile Error
Main.cpp: In function ‘void Segment::update(int, int, int, int, int)’:
Main.cpp:23:21: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
23 | int mid = l + r >> 1;
| ~~^~~
Main.cpp: In function ‘int Segment::query(int, int, int, int, int)’:
Main.cpp:41:21: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
41 | int mid = l + r >> 1;
| ~~^~~
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
525 / 525
Status
Set Name
Test Cases
Sample
sample00.txt, sample01.txt, sample02.txt
All
sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt, testcase36.txt, testcase37.txt, testcase38.txt, testcase39.txt, testcase40.txt, testcase41.txt, testcase42.txt, testcase43.txt, testcase44.txt, testcase45.txt, testcase46.txt, testcase47.txt, testcase48.txt, testcase49.txt, testcase50.txt, testcase51.txt, testcase52.txt, testcase53.txt, testcase54.txt, testcase55.txt
Case Name
Status
Exec Time
Memory
sample00.txt
AC
1 ms
3500 KiB
sample01.txt
AC
1 ms
3380 KiB
sample02.txt
AC
1 ms
3660 KiB
testcase00.txt
AC
129 ms
7508 KiB
testcase01.txt
AC
139 ms
7616 KiB
testcase02.txt
AC
137 ms
7468 KiB
testcase03.txt
AC
249 ms
11436 KiB
testcase04.txt
AC
216 ms
8912 KiB
testcase05.txt
AC
220 ms
9032 KiB
testcase06.txt
AC
202 ms
8752 KiB
testcase07.txt
AC
223 ms
9076 KiB
testcase08.txt
AC
203 ms
8868 KiB
testcase09.txt
AC
220 ms
9076 KiB
testcase10.txt
AC
194 ms
7348 KiB
testcase11.txt
AC
218 ms
8792 KiB
testcase12.txt
AC
194 ms
7592 KiB
testcase13.txt
AC
216 ms
8612 KiB
testcase14.txt
AC
204 ms
8036 KiB
testcase15.txt
AC
215 ms
8412 KiB
testcase16.txt
AC
238 ms
11420 KiB
testcase17.txt
AC
244 ms
11508 KiB
testcase18.txt
AC
242 ms
11392 KiB
testcase19.txt
AC
256 ms
11436 KiB
testcase20.txt
AC
251 ms
11436 KiB
testcase21.txt
AC
250 ms
11464 KiB
testcase22.txt
AC
251 ms
11492 KiB
testcase23.txt
AC
252 ms
11464 KiB
testcase24.txt
AC
245 ms
11264 KiB
testcase25.txt
AC
263 ms
11368 KiB
testcase26.txt
AC
236 ms
11240 KiB
testcase27.txt
AC
258 ms
11456 KiB
testcase28.txt
AC
246 ms
11220 KiB
testcase29.txt
AC
273 ms
11436 KiB
testcase30.txt
AC
251 ms
11324 KiB
testcase31.txt
AC
266 ms
11460 KiB
testcase32.txt
AC
272 ms
11244 KiB
testcase33.txt
AC
291 ms
11440 KiB
testcase34.txt
AC
282 ms
11212 KiB
testcase35.txt
AC
302 ms
11496 KiB
testcase36.txt
AC
293 ms
11388 KiB
testcase37.txt
AC
319 ms
11576 KiB
testcase38.txt
AC
316 ms
11404 KiB
testcase39.txt
AC
296 ms
11464 KiB
testcase40.txt
AC
289 ms
11532 KiB
testcase41.txt
AC
298 ms
11560 KiB
testcase42.txt
AC
315 ms
11452 KiB
testcase43.txt
AC
313 ms
11372 KiB
testcase44.txt
AC
297 ms
11228 KiB
testcase45.txt
AC
315 ms
11464 KiB
testcase46.txt
AC
309 ms
11212 KiB
testcase47.txt
AC
326 ms
11572 KiB
testcase48.txt
AC
294 ms
11420 KiB
testcase49.txt
AC
313 ms
11496 KiB
testcase50.txt
AC
235 ms
11220 KiB
testcase51.txt
AC
285 ms
11456 KiB
testcase52.txt
AC
229 ms
11468 KiB
testcase53.txt
AC
217 ms
11576 KiB
testcase54.txt
AC
154 ms
11140 KiB
testcase55.txt
AC
168 ms
11432 KiB