Submission #7908880
Source Code Expand
#include<bits/stdc++.h> typedef long long ll; ll gi(){ ll x=0,f=1; char ch=getchar(); while(!isdigit(ch))f^=ch=='-',ch=getchar(); while(isdigit(ch))x=x*10+ch-'0',ch=getchar(); return f?x:-x; } int P[500010]; struct segtree{ int A[2000010],tag[2000010]; #define mid ((l+r)>>1) void Upd(int x,int o){tag[x]=A[x]=o;} void down(int x){if(tag[x])Upd(x<<1,tag[x]),Upd(x<<1|1,tag[x]),tag[x]=0;} void update(int x,int l,int r,int L,int R,int d){ if(L<=l&&r<=R)return Upd(x,d); down(x); if(L<=mid)update(x<<1,l,mid,L,R,d); if(mid<R)update(x<<1|1,mid+1,r,L,R,d); } int query(int x,int l,int r,int p){ if(l==r)return A[x]; down(x); if(p<=mid)return query(x<<1,l,mid,p); else return query(x<<1|1,mid+1,r,p); } #undef mid }A,B; int fir[500010],dis[1000010],nxt[1000010],id,in[500010]; void link(int a,int b){++in[b];nxt[++id]=fir[a],fir[a]=id,dis[id]=b;} int p[500010],tpn[500010]; struct cmp{bool operator()(int a,int b){return P[a]>P[b];}}; std::priority_queue<int,std::vector<int>,cmp>que; int main(){ #ifdef XZZSB freopen("in.in","r",stdin); freopen("out.out","w",stdout); #endif int n=gi(),K=gi()-1; for(int i=1;i<=n;++i)P[gi()]=i; for(int i=n,_;i;--i){ if(_=A.query(1,1,n,P[i]))link(i,_); if(_=B.query(1,1,n,P[i]))link(i,_); A.update(1,1,n,P[i],std::min(n,P[i]+K),i); B.update(1,1,n,std::max(1,P[i]-K),P[i],i); } for(int i=1;i<=n;++i)if(!in[i])que.push(i); for(int _=1,x;_<=n;++_){ tpn[_]=P[x=que.top()];que.pop(); for(int i=fir[x];i;i=nxt[i])if(!--in[dis[i]])que.push(dis[i]); } for(int i=1;i<=n;++i)p[tpn[i]]=i; for(int i=1;i<=n;++i)printf("%d\n",p[i]); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Wide Swap |
User | test12345 |
Language | C++14 (GCC 5.4.1) |
Score | 2000 |
Code Size | 1613 Byte |
Status | AC |
Exec Time | 751 ms |
Memory | 46964 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 2000 / 2000 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample-01.txt, sample-02.txt, sample-03.txt |
All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, 050.txt, 051.txt, 052.txt, 053.txt, 054.txt, 055.txt, 056.txt, 057.txt, 058.txt, 059.txt, 060.txt, 061.txt, 062.txt, 063.txt, 064.txt, 065.txt, 066.txt, 067.txt, 068.txt, 069.txt, 070.txt, 071.txt, 072.txt, 073.txt, 074.txt, 075.txt, 076.txt, 077.txt, 078.txt, 079.txt, 080.txt, 081.txt, 082.txt, 083.txt, 084.txt, 085.txt, 086.txt, 087.txt, 088.txt, 089.txt, 090.txt, sample-01.txt, sample-02.txt, sample-03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
000.txt | AC | 3 ms | 10496 KB |
001.txt | AC | 3 ms | 10496 KB |
002.txt | AC | 5 ms | 18688 KB |
003.txt | AC | 5 ms | 18688 KB |
004.txt | AC | 5 ms | 18688 KB |
005.txt | AC | 5 ms | 18688 KB |
006.txt | AC | 5 ms | 18688 KB |
007.txt | AC | 5 ms | 18688 KB |
008.txt | AC | 5 ms | 18688 KB |
009.txt | AC | 6 ms | 18688 KB |
010.txt | AC | 6 ms | 18688 KB |
011.txt | AC | 6 ms | 18688 KB |
012.txt | AC | 6 ms | 18688 KB |
013.txt | AC | 6 ms | 18688 KB |
014.txt | AC | 6 ms | 18688 KB |
015.txt | AC | 6 ms | 18688 KB |
016.txt | AC | 6 ms | 18688 KB |
017.txt | AC | 6 ms | 18688 KB |
018.txt | AC | 6 ms | 18688 KB |
019.txt | AC | 6 ms | 18688 KB |
020.txt | AC | 5 ms | 18688 KB |
021.txt | AC | 5 ms | 18688 KB |
022.txt | AC | 6 ms | 18688 KB |
023.txt | AC | 6 ms | 18688 KB |
024.txt | AC | 6 ms | 18688 KB |
025.txt | AC | 6 ms | 18688 KB |
026.txt | AC | 6 ms | 18688 KB |
027.txt | AC | 5 ms | 18688 KB |
028.txt | AC | 5 ms | 18688 KB |
029.txt | AC | 4 ms | 10496 KB |
030.txt | AC | 6 ms | 18688 KB |
031.txt | AC | 6 ms | 18688 KB |
032.txt | AC | 6 ms | 18688 KB |
033.txt | AC | 6 ms | 18688 KB |
034.txt | AC | 6 ms | 18688 KB |
035.txt | AC | 6 ms | 18688 KB |
036.txt | AC | 6 ms | 18688 KB |
037.txt | AC | 6 ms | 18688 KB |
038.txt | AC | 6 ms | 18688 KB |
039.txt | AC | 434 ms | 46964 KB |
040.txt | AC | 634 ms | 46208 KB |
041.txt | AC | 670 ms | 46208 KB |
042.txt | AC | 650 ms | 46208 KB |
043.txt | AC | 751 ms | 46208 KB |
044.txt | AC | 558 ms | 46208 KB |
045.txt | AC | 494 ms | 46464 KB |
046.txt | AC | 599 ms | 46208 KB |
047.txt | AC | 669 ms | 46208 KB |
048.txt | AC | 577 ms | 46336 KB |
049.txt | AC | 193 ms | 33920 KB |
050.txt | AC | 323 ms | 42880 KB |
051.txt | AC | 256 ms | 34304 KB |
052.txt | AC | 570 ms | 45568 KB |
053.txt | AC | 74 ms | 16248 KB |
054.txt | AC | 413 ms | 43776 KB |
055.txt | AC | 6 ms | 18688 KB |
056.txt | AC | 57 ms | 21376 KB |
057.txt | AC | 248 ms | 34432 KB |
058.txt | AC | 65 ms | 25600 KB |
059.txt | AC | 489 ms | 36080 KB |
060.txt | AC | 461 ms | 46208 KB |
061.txt | AC | 442 ms | 46964 KB |
062.txt | AC | 494 ms | 46208 KB |
063.txt | AC | 448 ms | 46712 KB |
064.txt | AC | 489 ms | 46208 KB |
065.txt | AC | 450 ms | 46584 KB |
066.txt | AC | 453 ms | 46208 KB |
067.txt | AC | 447 ms | 46588 KB |
068.txt | AC | 451 ms | 46208 KB |
069.txt | AC | 311 ms | 46208 KB |
070.txt | AC | 348 ms | 46208 KB |
071.txt | AC | 341 ms | 46208 KB |
072.txt | AC | 297 ms | 46712 KB |
073.txt | AC | 353 ms | 46208 KB |
074.txt | AC | 305 ms | 46964 KB |
075.txt | AC | 391 ms | 46208 KB |
076.txt | AC | 387 ms | 46208 KB |
077.txt | AC | 363 ms | 46208 KB |
078.txt | AC | 349 ms | 46208 KB |
079.txt | AC | 92 ms | 32896 KB |
080.txt | AC | 17 ms | 18944 KB |
081.txt | AC | 31 ms | 21248 KB |
082.txt | AC | 188 ms | 34432 KB |
083.txt | AC | 55 ms | 25856 KB |
084.txt | AC | 54 ms | 25856 KB |
085.txt | AC | 50 ms | 25600 KB |
086.txt | AC | 15 ms | 18944 KB |
087.txt | AC | 102 ms | 32768 KB |
088.txt | AC | 53 ms | 25984 KB |
089.txt | AC | 285 ms | 36080 KB |
090.txt | AC | 278 ms | 46208 KB |
sample-01.txt | AC | 5 ms | 18688 KB |
sample-02.txt | AC | 3 ms | 10496 KB |
sample-03.txt | AC | 5 ms | 18688 KB |