UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#210274#3776. 可爱小树qiuqiu100196ms5892kbC++11567b2024-08-06 10:07:502024-08-06 12:20:28

answer

#include <bits/stdc++.h>
using namespace std;
#define int long long
#pragma GCC optimize(2)
int n,fa[200005];
struct node{
	int id,val;
} a[200005];
bool cmp(node a,node b){
	return a.val>b.val;
}
signed main(){
	int n;
	scanf("%lld",&n);
	for(int i=1;i<=n;i++) a[i].id=i,scanf("%lld",&a[i].val);
	sort(a+1,a+n+1,cmp);
	int k=1;
	for(int i=2;i<=n;i++){
		if(a[i].val!=a[i-1].val) fa[a[i].id]=a[i-1].id,k=i-1;
		else{
			if(a[k].val==a[k-1].val) k--;
			fa[a[i].id]=a[k].id;
		}
	}
	for(int i=1;i<=n;i++) printf("%lld ",fa[i]);
	return 0;
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1212kb

input:

11
0 1 2 3 4 5 6 7 8 9 10

output:

2 3 4 5 6 7 8 9 10 11 0 

result:

ok Congrats, all the answers are valid.

Test #2:

score: 10
Accepted
time: 1ms
memory: 1212kb

input:

49
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35...

output:

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...

result:

ok Congrats, all the answers are valid.

Test #3:

score: 10
Accepted
time: 0ms
memory: 1236kb

input:

999
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...

result:

ok Congrats, all the answers are valid.

Test #4:

score: 10
Accepted
time: 0ms
memory: 1212kb

input:

94
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0...

output:

40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 4...

result:

ok Congrats, all the answers are valid.

Test #5:

score: 10
Accepted
time: 41ms
memory: 5892kb

input:

199992
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

output:

126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 ...

result:

ok Congrats, all the answers are valid.

Test #6:

score: 10
Accepted
time: 2ms
memory: 1332kb

input:

4995
3598 702 2058 315 810 3553 2897 812 3108 395 847 1936 1347 3112 431 3546 1213 542 1674 253 1115...

output:

2636 4399 802 1295 4478 2412 919 4767 3271 4008 1637 1193 1481 4128 3032 2471 4485 1202 3933 4718 16...

result:

ok Congrats, all the answers are valid.

Test #7:

score: 10
Accepted
time: 52ms
memory: 5892kb

input:

199995
73857 87223 9127 55593 79096 29256 65222 68517 94617 24795 59461 64589 29004 18418 90863 2720...

output:

24936 109955 185423 12771 51277 66995 29951 37725 55511 29670 128113 56891 146053 27338 170722 93332...

result:

ok Congrats, all the answers are valid.

Test #8:

score: 10
Accepted
time: 39ms
memory: 3556kb

input:

99993
53106 38032 8196 3041 65305 15449 52233 7617 6543 21376 61968 23032 33290 58751 14610 5174 727...

output:

76798 83725 30503 4848 32587 37199 50181 77677 68568 64015 2598 96563 65147 31146 34998 46106 8245 1...

result:

ok Congrats, all the answers are valid.

Test #9:

score: 10
Accepted
time: 43ms
memory: 3556kb

input:

99998
37562 29469 5433 30712 31359 56582 18039 29636 52142 9885 6407 11263 47450 45300 34612 31399 1...

output:

93408 15163 51976 95415 62161 87736 4766 27027 12900 59985 26179 64296 66778 50524 71153 23612 53047...

result:

ok Congrats, all the answers are valid.

Test #10:

score: 10
Accepted
time: 18ms
memory: 2380kb

input:

49994
43071 40142 37165 42661 2289 25114 35938 2629 12203 3996 18305 7586 22898 12631 36647 17835 39...

output:

4679 37096 20436 16172 11938 34949 22293 47184 2704 20885 45020 28352 46357 23659 43770 49003 13544 ...

result:

ok Congrats, all the answers are valid.

Extra Test:

score: 0
Extra Test Passed