QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#403963 | #437. Fun Tour | bachbeo2007 | 47 | 92ms | 18396kb | C++23 | 1.9kb | 2024-05-02 23:57:16 | 2024-05-02 23:57:17 |
Judging History
answer
#include "fun.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<int> createFunTour(int N, int Q) {
vector<int> P(N);
int X=0,Min=N;
for(int i=0;i<N;i++){
int sz=attractionsBehind(0,i);
if(sz>N/2 && sz<Min) X=i,Min=sz;
}
vector<int> D(N),cc;
for(int i=0;i<N;i++){
D[i]=hoursRequired(X,i);
if(D[i]==1) cc.push_back(i);
}
int S=(int)cc.size();
vector<vector<int>> G(S);
for(int i=0;i<N;i++){
if(i==X) continue;
int j=0;
while(j+1<S && hoursRequired(cc[j],i)+D[cc[j]]!=D[i]) j++;
G[j].push_back(i);
}
for(int i=0;i<S;i++){
sort(G[i].begin(),G[i].end(),[&](int x,int y){
return D[x]>D[y];
});
}
P[0]=X;
int T=1,c=-1;
while(T<N){
int Max=0;
for(int i=0;i<S;i++) Max=max(Max,(int)G[i].size());
if(2*Max==N-T) break;
else if(2*Max>N-T){
for(int i=0;i<S;i++) if((int)G[i].size()==Max){
P[T++]=G[i].back();
G[i].pop_back();c=i;
break;
}
continue;
}
int u=-1;Min=N;
for(int i=0;i<S;i++){
if(c==i) continue;
if(D[G[i].back()]<Min) Min=D[G[i].back()],u=i;
}
P[T++]=G[u].back();
G[u].pop_back();c=u;
}
int u=-1;
for(int i=0;i<S;i++) if(2*(int)G[i].size()==N-T) u=i;
vector<int> A,B;
for(int i=0;i<S;i++){
if(u==i) A=G[i];
else B.insert(B.end(),G[i].begin(),G[i].end());
}
if(c!=u) swap(A,B);
sort(A.begin(),A.end(),[&](int x,int y){
return D[x]>D[y];
});
sort(B.begin(),B.end(),[&](int x,int y){
return D[x]>D[y];
});
while(!A.empty()){
P[T++]=B.back();
P[T++]=A.back();
B.pop_back();
A.pop_back();
}
reverse(P.begin(),P.end());
return P;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Accepted
Test #1:
score: 0
Accepted
time: 1ms
memory: 3744kb
input:
2 400000 1 0
output:
1 0
result:
ok correct
Subtask #2:
score: 0
Accepted
Test #3:
score: 0
Accepted
time: 0ms
memory: 3704kb
input:
4 400000 1 0 2 0 3 1
output:
3 2 1 0
result:
ok correct
Subtask #3:
score: 0
Accepted
Test #9:
score: 0
Accepted
time: 1ms
memory: 3684kb
input:
4 400000 1 0 2 1 3 2
output:
3 0 2 1
result:
ok correct
Subtask #4:
score: 0
Accepted
Test #13:
score: 0
Accepted
time: 1ms
memory: 4016kb
input:
4 400000 0 1 0 2 0 3
output:
2 3 1 0
result:
ok correct
Subtask #5:
score: 0
Accepted
Test #20:
score: 0
Accepted
time: 1ms
memory: 3820kb
input:
18 400000 1 0 2 0 3 1 4 1 5 2 6 2 7 3 8 3 9 4 10 4 11 5 12 5 13 6 14 6 15 7 16 7 17 8
output:
15 11 16 12 17 13 7 14 8 5 9 6 10 2 4 3 0 1
result:
ok correct
Subtask #6:
score: 0
Accepted
Test #27:
score: 0
Accepted
time: 1ms
memory: 3996kb
input:
18 400000 7 6 8 7 5 8 4 5 3 4 9 3 10 11 12 10 13 12 14 13 9 14 2 9 15 2 16 15 17 16 1 17 0 1
output:
0 6 11 7 1 10 8 17 12 5 16 13 4 15 14 3 2 9
result:
ok correct
Subtask #7:
score: 0
Accepted
Test #33:
score: 0
Accepted
time: 1ms
memory: 3800kb
input:
500 400000 33 414 398 33 254 398 400 254 376 400 302 376 466 302 362 466 301 362 267 301 417 267 413 417 14 413 305 14 353 305 83 353 227 83 57 227 446 57 406 446 154 406 336 154 195 336 405 195 264 405 76 264 203 76 459 203 178 459 72 178 296 72 488 296 404 488 60 404 156 60 393 156 108 393 216 108...
output:
414 212 33 88 398 124 254 399 400 190 376 10 302 366 466 234 362 432 301 28 267 188 417 237 413 64 14 268 305 39 353 349 83 345 227 125 57 70 446 276 406 420 154 369 336 48 195 211 405 482 264 8 76 22 203 487 459 9 178 230 72 339 296 95 488 340 404 50 60 102 156 174 393 47 108 461 216 424 106 181 31...
result:
ok correct
Subtask #8:
score: 0
Accepted
Test #41:
score: 0
Accepted
time: 1ms
memory: 3728kb
input:
501 400000 1 0 2 0 3 1 4 1 5 2 6 2 7 3 8 3 9 4 10 4 11 5 12 5 13 6 14 6 15 7 16 7 17 8 18 8 19 9 20 9 21 10 22 10 23 11 24 11 25 12 26 12 27 13 28 13 29 14 30 14 31 15 32 15 33 16 34 16 35 17 36 17 37 18 38 18 39 19 40 19 41 20 42 20 43 21 44 21 45 22 46 22 47 23 48 23 49 24 50 24 51 25 52 25 53 26 ...
output:
327 485 351 499 334 498 333 497 332 496 331 495 330 494 329 493 328 492 336 491 326 490 325 489 324 488 323 487 322 443 321 470 320 484 367 483 337 482 338 481 339 480 340 479 341 478 342 477 343 476 344 475 345 474 346 473 347 472 348 486 349 458 350 427 335 457 319 459 352 460 353 461 354 462 355 ...
result:
ok correct
Subtask #9:
score: 0
Wrong Answer
Test #51:
score: 0
Wrong Answer
time: 1ms
memory: 3760kb
input:
1000 400000 6 5 7 8 6 7 9 6 11 10 11 12 13 11 14 15 13 14 9 13 16 9 18 17 18 19 20 18 22 21 22 23 20 22 24 20 26 25 26 27 28 26 30 29 30 31 28 30 24 28 16 24 32 16 33 32 35 34 35 36 37 35 39 38 39 40 37 39 41 37 43 42 43 44 45 43 47 46 47 48 45 47 41 45 49 41 50 51 52 50 54 53 54 55 52 54 56 52 58 5...
output:
WA: Tour is not fun
result:
wrong output format Expected integer, but "WA:" found
Subtask #10:
score: 0
Accepted
Test #59:
score: 0
Accepted
time: 92ms
memory: 18396kb
input:
99999 400000 11681 58292 11681 63929 49752 11681 30596 74400 30596 39261 49752 30596 19390 49752 89694 31923 19390 89694 54297 19390 42389 12902 42389 60328 72803 42389 69881 43761 69881 95741 72803 69881 96271 72803 63872 20658 63872 93588 35833 63872 48418 44153 35833 48418 96271 35833 54297 96271...
output:
15273 7582 15257 17774 11738 17775 89429 17776 15261 7648 89425 7658 15266 94473 15267 17879 89424 7590 89421 7584 15270 17887 89419 94468 15251 97611 15258 7581 3649 7577 15194 7575 89442 17826 89441 7571 15201 17900 15202 7565 15205 97635 15207 17909 89440 17915 15210 7561 8136 7673 94255 17811 81...
result:
ok correct
Subtask #11:
score: 10
Accepted
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #3:
100%
Accepted
Dependency #4:
100%
Accepted
Subtask #12:
score: 16
Accepted
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #3:
100%
Accepted
Dependency #4:
100%
Accepted
Dependency #5:
100%
Accepted
Dependency #6:
100%
Accepted
Dependency #7:
100%
Accepted
Subtask #13:
score: 21
Accepted
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #5:
100%
Accepted
Dependency #8:
100%
Accepted
Subtask #14:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #3:
100%
Accepted
Dependency #6:
100%
Accepted
Dependency #9:
0%
Subtask #15:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #3:
100%
Accepted
Dependency #4:
100%
Accepted
Dependency #5:
100%
Accepted
Dependency #6:
100%
Accepted
Dependency #7:
100%
Accepted
Dependency #8:
100%
Accepted
Dependency #9:
0%