Submission #31724677
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
#define ri int
typedef long long ll;
const int maxn=2e5+10;
template<class T>inline bool ckmax(T &x,const T &y){return x<y?x=y,1:0;}
template<class T>inline void clear(T *arr,int siz,int val=0){memset(arr,val,sizeof(T)*(siz+1));}
static char pbuf[1000000],*p1=pbuf,*p2=pbuf,obuf[1000000],*o=obuf;
#define getchar() p1==p2&&(p2=(p1=pbuf)+fread(pbuf,1,1000000,stdin),p1==p2)?EOF:*p1++
#define putchar(x) (o-obuf<1000000)?(*o++=(x)):(fwrite(obuf,o-obuf,1,stdout),o=obuf,*o++=(x))
inline int qr(){
ri in=0;char ch;
while(!isdigit(ch=getchar()));
do in=(in<<1)+(in<<3)+(ch^48);while(isdigit(ch=getchar()));
return in;
}
template<class T>
void qw(T out){
if(out>9)qw(out/10);
putchar(out%10|48);
}
struct flusher{~flusher(){fwrite(obuf,o-obuf,1,stdout);}}autoflush;
int a[maxn],ans,c[maxn],n,x;
bool vis[maxn];
inline void calc(int k,int cur,int sgn,bool t){
if(k<1||k>n)return;
ri len=0;
clear(vis,n);
a[++len]=x,vis[x]=true;
while(1){
k+=cur++*sgn;
while(vis[k])k+=sgn,++cur;
sgn*=-1;
if(k<1||k>n)break;
a[++len]=k,vis[k]=true;
}
for(ri i=1;i<=n;++i)
if(!vis[i])
a[++len]=i;
clear(c,n);
ri ret=0;
for(ri i=2;i<=n;++i){
ri f=0,p=abs(a[i]-a[i-1]);
for(ri j=p-1;j;j^=j&-j)ckmax(f,c[j]);
ckmax(ret,++f);
for(ri j=p;j<=n;j+=j&-j)ckmax(c[j],f);
}
if(t&&ret==ans){for(ri i=1;i<=n;++i)qw(a[i]),putchar(32);exit(0);}
ckmax(ans,ret);
}
int main(){
n=qr(),x=qr();
for(ri i:{0,1}){
for(ri j:{-1,0,1})calc((n>>1)+j,0,1,i),calc((n>>1)+j,0,-1,i);
calc(x,1,1,i),calc(x,1,-1,i);
}
return 0;
}
Submission Info
| Submission Time |
|
| Task |
C - ABS Permutation (LIS ver.) |
| User |
RrU |
| Language |
C++ (GCC 9.2.1) |
| Score |
500 |
| Code Size |
1623 Byte |
| Status |
AC |
| Exec Time |
66 ms |
| Memory |
6288 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
500 / 500 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
00_sample_01.txt, 00_sample_02.txt |
| All |
00_sample_01.txt, 00_sample_02.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 03_large_01.txt, 03_large_02.txt, 03_large_03.txt, 03_large_04.txt, 03_large_05.txt, 03_large_06.txt, 03_large_07.txt, 03_large_08.txt, 03_large_09.txt, 03_large_10.txt, 03_large_11.txt, 03_large_12.txt, 03_large_13.txt, 03_large_14.txt, 03_large_15.txt, 04_corner_01.txt, 04_corner_02.txt, 04_corner_03.txt, 04_corner_04.txt, 04_corner_05.txt, 04_corner_06.txt, 04_corner_07.txt, 04_corner_08.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 00_sample_01.txt |
AC |
14 ms |
3384 KiB |
| 00_sample_02.txt |
AC |
2 ms |
3512 KiB |
| 01_small_01.txt |
AC |
2 ms |
3460 KiB |
| 01_small_02.txt |
AC |
2 ms |
3524 KiB |
| 01_small_03.txt |
AC |
2 ms |
3504 KiB |
| 01_small_04.txt |
AC |
2 ms |
3468 KiB |
| 01_small_05.txt |
AC |
2 ms |
3544 KiB |
| 02_random_01.txt |
AC |
17 ms |
4084 KiB |
| 02_random_02.txt |
AC |
49 ms |
5460 KiB |
| 02_random_03.txt |
AC |
42 ms |
4996 KiB |
| 02_random_04.txt |
AC |
9 ms |
3628 KiB |
| 02_random_05.txt |
AC |
47 ms |
5984 KiB |
| 03_large_01.txt |
AC |
62 ms |
6240 KiB |
| 03_large_02.txt |
AC |
56 ms |
6236 KiB |
| 03_large_03.txt |
AC |
56 ms |
6048 KiB |
| 03_large_04.txt |
AC |
62 ms |
6188 KiB |
| 03_large_05.txt |
AC |
59 ms |
6176 KiB |
| 03_large_06.txt |
AC |
66 ms |
6136 KiB |
| 03_large_07.txt |
AC |
55 ms |
6048 KiB |
| 03_large_08.txt |
AC |
58 ms |
6100 KiB |
| 03_large_09.txt |
AC |
58 ms |
6048 KiB |
| 03_large_10.txt |
AC |
55 ms |
6264 KiB |
| 03_large_11.txt |
AC |
55 ms |
6040 KiB |
| 03_large_12.txt |
AC |
58 ms |
6052 KiB |
| 03_large_13.txt |
AC |
63 ms |
6100 KiB |
| 03_large_14.txt |
AC |
54 ms |
6260 KiB |
| 03_large_15.txt |
AC |
54 ms |
6288 KiB |
| 04_corner_01.txt |
AC |
54 ms |
6204 KiB |
| 04_corner_02.txt |
AC |
45 ms |
5640 KiB |
| 04_corner_03.txt |
AC |
45 ms |
5928 KiB |
| 04_corner_04.txt |
AC |
51 ms |
5960 KiB |
| 04_corner_05.txt |
AC |
44 ms |
5648 KiB |
| 04_corner_06.txt |
AC |
44 ms |
5348 KiB |
| 04_corner_07.txt |
AC |
48 ms |
5920 KiB |
| 04_corner_08.txt |
AC |
58 ms |
6236 KiB |