QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#375802 | #4088. 총 쏘기 | hotboy2703 | 9 | 91ms | 4944kb | C++14 | 2.8kb | 2024-04-03 16:05:28 | 2024-04-03 16:05:28 |
Judging History
answer
#include<bits/stdc++.h>
using ll = long long;
using namespace std;
#define pll pair <ll,ll>
#define fi first
#define se second
#define sz(a) (ll((a).size()))
#define BIT(mask,i) (((mask) >> (i))&1)
#define MASK(i) (1LL << (i))
#define MP make_pair
namespace{
const ll MAXN = 1e5;
ll n;
ll a[MAXN+100];
ll b[MAXN+100];
ll rev[MAXN+100];
vector <pair <int,int> > ans;
void solve(){
set <ll> s;
for (ll i = 1;i <= n;i ++)s.insert(i);
for (ll i = 1;i <= n;i ++){b[i] = n + 1 - a[i];rev[b[i]] = i;}
ll inv[MAXN+100];
while (sz(s)){
vector <pll> tr;
ll max1 = -1;
for (auto x:s){
if (a[x]>max1){
max1 = a[x];
ll max2 = max1;
for (auto y:s){
if (a[y] > max2){
max2 = a[y];
tr.push_back({x,y});
}
}
}
}
pll best;
ll cur_best = n+1;
ll cur_best2 = -1;
ll single=*s.begin();
for (auto i:s){
inv[i] = 0;
for (auto j:s){
ll l = min(i,j),r = max(i,j);
if (a[l] > a[r])inv[i]++;
}
}
for (auto x:tr){
s.erase(x.fi);
s.erase(x.se);
vector <ll> lds;
for (auto x:s){
auto tmp = upper_bound(lds.begin(),lds.end(),b[x]);
if (tmp==lds.end()){lds.push_back(b[x]);}
else (*tmp) = b[x];
}
ll sus = sz(lds);
ll sus2 = inv[x.fi] + inv[x.se] - (a[x.fi] > a[x.se]);
// cout<<sus<<' '<<x.fi<<' '<<x.se<<'\n';
if (sus < cur_best || (sus==cur_best && sus2 > cur_best2)){
cur_best = sus;
cur_best2 = sus2;
best = x;
}
s.insert(x.fi);
s.insert(x.se);
}
for (auto x:s){
if (inv[x] > inv[single])single = x;
}
if (cur_best != n+1){
s.erase(best.fi);
s.erase(best.se);
ans.push_back(MP(a[best.fi],a[best.se]));
}
else{
s.erase(single);
ans.push_back(MP(a[single],n+1));
}
}
// sort(ans.begin(),ans.end());
}
}
std::vector<std::pair<int, int>> min_shooting_buildings(std::vector<int> H){
n = sz(H);
for (ll i = 1;i <= n;i ++)a[i] = H[i-1];
solve();
return ans;
}
详细
Subtask #1:
score: 0
Time Limit Exceeded
Test #1:
score: 17
Accepted
time: 1ms
memory: 4872kb
input:
8 4 3 8 2 1 7 6 5
output:
4 4 8 3 7 2 6 1 5
result:
ok Correct
Test #2:
score: 0
Accepted
time: 1ms
memory: 4896kb
input:
16 12 16 11 15 10 9 8 4 14 13 7 2 6 5 3 1
output:
10 12 16 11 15 10 14 9 13 8 17 4 7 2 6 5 17 3 17 1 17
result:
ok Correct
Test #3:
score: 0
Accepted
time: 1ms
memory: 4904kb
input:
16 16 13 10 7 6 15 14 12 5 11 4 9 3 8 1 2
output:
9 16 17 13 15 10 14 7 12 6 11 5 9 4 8 3 17 1 2
result:
ok Correct
Test #4:
score: 0
Accepted
time: 0ms
memory: 4568kb
input:
16 16 13 10 15 8 14 12 7 4 11 9 6 1 5 3 2
output:
10 16 17 13 15 10 14 8 12 7 11 4 9 6 17 1 5 3 17 2 17
result:
ok Correct
Test #5:
score: 0
Accepted
time: 1ms
memory: 4616kb
input:
16 14 13 12 11 16 15 8 10 6 9 4 7 3 1 5 2
output:
9 14 16 13 15 12 17 11 17 8 10 6 9 4 7 3 5 1 2
result:
ok Correct
Test #6:
score: 0
Accepted
time: 1ms
memory: 4648kb
input:
16 14 13 16 11 9 15 12 6 5 10 8 7 2 1 4 3
output:
8 14 16 13 15 11 12 9 10 6 8 5 7 2 4 1 3
result:
ok Correct
Test #7:
score: 0
Accepted
time: 1ms
memory: 4560kb
input:
16 15 16 14 12 11 9 7 5 4 13 2 10 1 8 6 3
output:
10 15 16 14 17 12 13 11 17 9 10 7 8 5 6 4 17 2 3 1 17
result:
ok Correct
Test #8:
score: 0
Accepted
time: 79ms
memory: 4648kb
input:
495 492 491 487 481 495 494 493 480 490 478 489 488 477 486 485 475 472 484 483 471 468 482 479 466 465 463 476 461 460 459 474 457 473 455 454 470 469 453 452 467 450 449 464 462 448 447 458 456 443 451 446 442 445 437 436 435 434 433 429 444 427 426 441 440 439 424 423 438 421 419 416 432 413 431 ...
output:
250 492 495 491 494 487 493 481 490 480 489 478 488 477 486 485 496 475 484 472 483 471 482 468 479 466 476 465 474 463 473 461 470 460 469 459 467 457 464 455 462 454 458 453 456 452 496 450 451 449 496 448 496 447 496 443 446 442 445 437 444 436 441 435 440 434 439 433 438 429 432 427 431 426 430 ...
result:
ok Correct
Test #9:
score: 0
Accepted
time: 86ms
memory: 4600kb
input:
496 493 491 486 496 481 495 494 492 490 489 473 488 487 472 469 468 485 484 483 464 482 480 463 479 478 477 460 458 476 475 457 456 474 471 455 454 470 453 452 467 449 448 447 446 466 437 465 436 433 432 430 428 462 426 461 425 424 421 420 419 459 417 416 451 410 450 409 408 407 445 405 444 443 442 ...
output:
262 493 496 491 495 486 494 481 492 490 497 489 497 473 488 487 497 472 485 469 484 468 483 464 482 480 497 463 479 478 497 477 497 460 476 458 475 457 474 456 471 455 470 454 467 453 466 452 465 449 462 448 461 447 459 446 451 437 450 436 445 433 444 432 443 430 442 428 441 426 440 425 439 424 438 ...
result:
ok Correct
Test #10:
score: 0
Accepted
time: 82ms
memory: 4944kb
input:
497 496 492 490 489 497 495 494 493 488 486 485 484 480 478 491 487 475 483 474 482 471 468 465 464 460 459 481 458 457 456 479 477 455 453 476 473 450 444 443 440 472 439 470 469 435 433 467 432 430 466 429 463 462 428 461 425 420 419 454 418 452 451 416 449 415 413 412 448 409 402 401 400 447 399 ...
output:
259 496 497 492 495 490 494 489 493 488 491 486 487 485 498 484 498 480 483 478 482 475 481 474 479 471 477 468 476 465 473 464 472 460 470 459 469 458 467 457 466 456 463 455 462 453 461 450 454 444 452 443 451 440 449 439 448 435 447 433 446 432 445 430 442 429 441 428 438 425 437 420 436 419 434 ...
result:
ok Correct
Test #11:
score: 0
Accepted
time: 85ms
memory: 4708kb
input:
498 496 495 494 493 498 497 489 492 491 488 485 490 487 482 486 484 481 479 478 475 483 474 480 477 476 473 471 464 472 462 470 469 459 458 456 468 467 454 466 453 465 450 448 446 463 461 460 445 440 457 455 437 452 434 451 449 433 432 431 428 427 425 447 444 443 442 422 441 419 439 438 436 418 435 ...
output:
272 496 498 495 497 494 499 493 499 489 492 491 499 488 490 485 487 482 486 484 499 481 483 479 480 478 499 475 477 474 476 473 499 471 472 464 470 462 469 459 468 458 467 456 466 454 465 453 463 450 461 448 460 446 457 445 455 440 452 437 451 434 449 433 447 432 444 431 443 428 442 427 441 425 439 ...
result:
ok Correct
Test #12:
score: 0
Accepted
time: 85ms
memory: 4912kb
input:
499 498 496 492 499 497 495 494 493 491 489 486 484 481 490 488 487 478 485 483 474 465 482 464 480 463 461 460 479 477 459 476 456 475 455 473 472 471 470 453 469 452 451 448 447 468 467 446 445 466 439 434 433 462 458 457 454 450 449 432 444 443 430 442 441 428 440 438 437 427 422 436 421 420 418 ...
output:
266 498 499 496 497 492 495 494 500 493 500 491 500 489 490 486 488 484 487 481 485 478 483 474 482 465 480 464 479 463 477 461 476 460 475 459 473 456 472 455 471 470 500 453 469 452 468 451 467 448 466 447 462 446 458 445 457 439 454 434 450 433 449 432 444 443 500 430 442 441 500 428 440 438 500 ...
result:
ok Correct
Test #13:
score: 0
Accepted
time: 91ms
memory: 4652kb
input:
500 499 500 495 490 498 489 497 496 488 486 484 482 478 477 476 475 494 493 470 492 491 469 468 467 487 463 458 485 483 481 450 444 442 480 479 441 474 473 472 440 439 438 437 471 436 435 466 434 430 465 429 428 425 424 423 464 422 421 462 461 460 459 419 417 415 457 413 456 455 454 453 452 411 410 ...
output:
254 499 500 495 498 490 497 489 496 488 494 486 493 484 492 482 491 478 487 477 485 476 483 475 481 470 480 469 479 468 474 467 473 463 472 458 471 450 466 444 465 442 464 441 462 440 461 439 460 438 459 437 457 436 456 435 455 434 454 430 453 429 452 428 451 425 449 424 448 423 447 422 446 421 445 ...
result:
ok Correct
Test #14:
score: -17
Time Limit Exceeded
input:
7495 7495 7490 7488 7486 7494 7481 7480 7478 7477 7475 7463 7460 7459 7493 7492 7458 7491 7489 7487 7485 7457 7455 7484 7483 7454 7453 7452 7450 7448 7482 7444 7442 7440 7435 7479 7431 7476 7474 7426 7473 7423 7422 7421 7418 7472 7471 7470 7469 7468 7467 7414 7413 7411 7409 7408 7405 7466 7465 7403 ...
output:
Unauthorized output
result:
Subtask #2:
score: 0
Time Limit Exceeded
Test #26:
score: 12
Accepted
time: 1ms
memory: 4608kb
input:
8 5 6 7 1 2 8 3 4
output:
4 5 6 7 8 1 2 3 4
result:
ok Correct
Test #27:
score: 0
Accepted
time: 0ms
memory: 4896kb
input:
16 2 4 5 1 9 10 3 6 14 7 8 11 12 16 13 15
output:
8 9 14 4 10 5 16 2 3 1 6 7 8 11 12 13 15
result:
ok Correct
Test #28:
score: 0
Accepted
time: 1ms
memory: 4644kb
input:
16 2 3 1 8 12 4 5 6 7 14 15 9 10 16 11 13
output:
8 8 12 14 15 2 16 3 4 1 5 6 7 9 10 11 13
result:
ok Correct
Test #29:
score: 0
Accepted
time: 0ms
memory: 4872kb
input:
16 3 5 1 6 8 9 2 11 12 4 7 14 15 10 16 13
output:
8 5 8 9 11 3 12 6 14 15 16 1 2 4 7 10 13
result:
ok Correct
Test #30:
score: 0
Accepted
time: 1ms
memory: 4616kb
input:
16 1 7 2 3 9 11 4 5 6 12 15 8 10 16 13 14
output:
8 7 11 9 15 12 16 1 2 3 4 5 6 8 10 13 14
result:
ok Correct
Test #31:
score: 0
Accepted
time: 0ms
memory: 4900kb
input:
16 6 7 8 1 9 2 3 4 11 12 5 10 13 14 15 16
output:
8 6 7 8 9 11 12 1 2 3 4 5 10 13 14 15 16
result:
ok Correct
Test #32:
score: 0
Accepted
time: 1ms
memory: 4604kb
input:
16 1 6 2 7 8 9 10 13 3 4 5 11 14 12 16 15
output:
8 6 13 7 8 9 10 14 16 1 2 3 4 5 11 12 15
result:
ok Correct
Test #33:
score: -12
Time Limit Exceeded
input:
495 5 6 7 9 10 1 2 12 3 13 15 17 18 19 20 24 4 8 11 26 27 29 30 31 33 14 16 21 34 35 39 22 40 43 23 44 25 28 32 47 36 37 48 38 53 56 41 57 42 45 46 49 50 60 62 63 65 51 52 54 55 58 59 69 71 61 72 64 66 74 77 67 68 80 70 81 84 87 88 89 90 92 73 96 75 97 98 76 99 102 78 79 82 83 105 106 85 86 91 110 9...
output:
Unauthorized output
result:
Subtask #3:
score: 9
Accepted
Test #51:
score: 9
Accepted
time: 1ms
memory: 4648kb
input:
1 1
output:
1 1 2
result:
ok Correct
Test #52:
score: 0
Accepted
time: 1ms
memory: 4688kb
input:
2 1 2
output:
1 1 2
result:
ok Correct
Test #53:
score: 0
Accepted
time: 1ms
memory: 4604kb
input:
2 2 1
output:
2 2 3 1 3
result:
ok Correct
Test #54:
score: 0
Accepted
time: 1ms
memory: 4620kb
input:
3 1 3 2
output:
2 1 3 2 4
result:
ok Correct
Test #55:
score: 0
Accepted
time: 0ms
memory: 4616kb
input:
3 2 1 3
output:
2 2 3 1 4
result:
ok Correct
Test #56:
score: 0
Accepted
time: 1ms
memory: 4604kb
input:
3 2 3 1
output:
2 2 3 1 4
result:
ok Correct
Test #57:
score: 0
Accepted
time: 0ms
memory: 4904kb
input:
3 3 1 2
output:
2 3 4 1 2
result:
ok Correct
Test #58:
score: 0
Accepted
time: 1ms
memory: 4644kb
input:
4 2 1 4 3
output:
2 2 4 1 3
result:
ok Correct
Test #59:
score: 0
Accepted
time: 0ms
memory: 4580kb
input:
4 2 4 1 3
output:
2 2 4 1 3
result:
ok Correct
Test #60:
score: 0
Accepted
time: 1ms
memory: 4912kb
input:
4 3 1 4 2
output:
2 3 4 1 2
result:
ok Correct
Test #61:
score: 0
Accepted
time: 1ms
memory: 4600kb
input:
4 3 4 1 2
output:
2 3 4 1 2
result:
ok Correct
Test #62:
score: 0
Accepted
time: 1ms
memory: 4924kb
input:
3 3 2 1
output:
3 3 4 2 4 1 4
result:
ok Correct
Test #63:
score: 0
Accepted
time: 1ms
memory: 4904kb
input:
4 1 4 3 2
output:
3 1 4 3 5 2 5
result:
ok Correct
Test #64:
score: 0
Accepted
time: 1ms
memory: 4648kb
input:
4 2 4 3 1
output:
3 2 4 3 5 1 5
result:
ok Correct
Test #65:
score: 0
Accepted
time: 0ms
memory: 4560kb
input:
4 3 2 1 4
output:
3 3 4 2 5 1 5
result:
ok Correct
Test #66:
score: 0
Accepted
time: 1ms
memory: 4672kb
input:
4 3 2 4 1
output:
3 3 4 2 5 1 5
result:
ok Correct
Test #67:
score: 0
Accepted
time: 0ms
memory: 4912kb
input:
4 3 4 2 1
output:
3 3 4 2 5 1 5
result:
ok Correct
Test #68:
score: 0
Accepted
time: 1ms
memory: 4608kb
input:
4 4 1 3 2
output:
3 4 5 1 3 2 5
result:
ok Correct
Test #69:
score: 0
Accepted
time: 0ms
memory: 4904kb
input:
4 4 2 1 3
output:
3 4 5 2 3 1 5
result:
ok Correct
Test #70:
score: 0
Accepted
time: 1ms
memory: 4560kb
input:
4 4 2 3 1
output:
3 4 5 2 3 1 5
result:
ok Correct
Test #71:
score: 0
Accepted
time: 1ms
memory: 4612kb
input:
4 4 3 1 2
output:
3 4 5 3 5 1 2
result:
ok Correct
Test #72:
score: 0
Accepted
time: 1ms
memory: 4608kb
input:
4 4 3 2 1
output:
4 4 5 3 5 2 5 1 5
result:
ok Correct
Test #73:
score: 0
Accepted
time: 1ms
memory: 4608kb
input:
3 1 2 3
output:
2 1 2 3 4
result:
ok Correct
Test #74:
score: 0
Accepted
time: 1ms
memory: 4916kb
input:
4 1 2 3 4
output:
2 1 2 3 4
result:
ok Correct
Test #75:
score: 0
Accepted
time: 1ms
memory: 4608kb
input:
4 1 2 4 3
output:
2 1 4 2 3
result:
ok Correct
Test #76:
score: 0
Accepted
time: 1ms
memory: 4616kb
input:
4 1 3 2 4
output:
2 1 3 2 4
result:
ok Correct
Test #77:
score: 0
Accepted
time: 1ms
memory: 4668kb
input:
4 1 3 4 2
output:
2 3 4 1 2
result:
ok Correct
Test #78:
score: 0
Accepted
time: 1ms
memory: 4612kb
input:
4 1 4 2 3
output:
2 1 4 2 3
result:
ok Correct
Test #79:
score: 0
Accepted
time: 1ms
memory: 4620kb
input:
4 2 1 3 4
output:
2 2 3 1 4
result:
ok Correct
Test #80:
score: 0
Accepted
time: 1ms
memory: 4912kb
input:
4 2 3 1 4
output:
2 2 3 1 4
result:
ok Correct
Test #81:
score: 0
Accepted
time: 1ms
memory: 4684kb
input:
4 2 3 4 1
output:
3 2 3 4 5 1 5
result:
ok Correct
Test #82:
score: 0
Accepted
time: 0ms
memory: 4608kb
input:
4 3 1 2 4
output:
2 3 4 1 2
result:
ok Correct
Test #83:
score: 0
Accepted
time: 1ms
memory: 4648kb
input:
4 4 1 2 3
output:
3 4 5 1 2 3 5
result:
ok Correct
Subtask #4:
score: 0
Wrong Answer
Dependency #3:
100%
Accepted
Test #84:
score: 12
Accepted
time: 0ms
memory: 4904kb
input:
16 13 7 10 1 9 15 4 11 12 2 8 16 3 5 14 6
output:
8 13 15 7 10 9 11 12 16 4 8 1 14 2 3 5 6
result:
ok Correct
Test #85:
score: 0
Accepted
time: 1ms
memory: 4900kb
input:
16 13 7 10 1 9 15 4 11 12 2 8 16 3 5 14 6
output:
8 13 15 7 10 9 11 12 16 4 8 1 14 2 3 5 6
result:
ok Correct
Test #86:
score: 0
Accepted
time: 1ms
memory: 4912kb
input:
16 13 7 10 1 9 15 4 11 12 2 8 16 3 5 14 6
output:
8 13 15 7 10 9 11 12 16 4 8 1 14 2 3 5 6
result:
ok Correct
Test #87:
score: 0
Accepted
time: 1ms
memory: 4616kb
input:
16 13 7 10 1 9 15 4 11 12 2 8 16 3 5 14 6
output:
8 13 15 7 10 9 11 12 16 4 8 1 14 2 3 5 6
result:
ok Correct
Test #88:
score: 0
Accepted
time: 0ms
memory: 4604kb
input:
16 13 7 10 1 9 15 4 11 12 2 8 16 3 5 14 6
output:
8 13 15 7 10 9 11 12 16 4 8 1 14 2 3 5 6
result:
ok Correct
Test #89:
score: 0
Accepted
time: 1ms
memory: 4616kb
input:
16 13 7 10 1 9 15 4 11 12 2 8 16 3 5 14 6
output:
8 13 15 7 10 9 11 12 16 4 8 1 14 2 3 5 6
result:
ok Correct
Test #90:
score: 0
Accepted
time: 1ms
memory: 4620kb
input:
16 14 13 16 15 12 11 10 9 8 7 6 5 4 3 2 1
output:
14 14 16 13 15 12 17 11 17 10 17 9 17 8 17 7 17 6 17 5 17 4 17 3 17 2 17 1 17
result:
ok Correct
Test #91:
score: 0
Accepted
time: 1ms
memory: 4616kb
input:
16 13 16 10 14 15 9 11 12 8 7 6 5 4 3 2 1
output:
12 13 16 14 15 10 11 9 12 8 17 7 17 6 17 5 17 4 17 3 17 2 17 1 17
result:
ok Correct
Test #92:
score: 0
Accepted
time: 1ms
memory: 4688kb
input:
16 16 14 15 13 11 9 10 12 6 7 4 8 5 3 2 1
output:
11 16 17 14 15 13 17 11 12 9 10 6 7 4 8 5 17 3 17 2 17 1 17
result:
ok Correct
Test #93:
score: 0
Accepted
time: 0ms
memory: 4608kb
input:
16 1 2 3 5 8 4 7 6 12 10 9 11 13 15 14 16
output:
8 8 12 5 7 10 15 1 2 3 4 6 9 11 13 14 16
result:
ok Correct
Test #94:
score: 0
Accepted
time: 1ms
memory: 4640kb
input:
16 15 14 16 11 13 12 9 10 8 7 6 5 4 1 2 3
output:
12 15 16 14 17 11 13 12 17 9 10 8 17 7 17 6 17 5 17 4 17 1 2 3 17
result:
ok Correct
Test #95:
score: 0
Accepted
time: 0ms
memory: 4676kb
input:
16 14 15 13 16 11 12 10 9 8 7 6 4 5 2 1 3
output:
11 14 15 13 16 11 12 10 17 9 17 8 17 7 17 6 17 4 5 2 3 1 17
result:
ok Correct
Test #96:
score: 0
Accepted
time: 1ms
memory: 4688kb
input:
8 4 3 7 8 2 1 5 6
output:
4 4 7 3 8 2 5 1 6
result:
ok Correct
Test #97:
score: 0
Accepted
time: 1ms
memory: 4580kb
input:
9 1 6 5 8 9 4 3 2 7
output:
5 6 8 5 9 1 4 3 7 2 10
result:
ok Correct
Test #98:
score: -12
Wrong Answer
time: 1ms
memory: 4872kb
input:
8 3 5 1 6 7 8 4 2
output:
5 3 5 6 7 1 8 4 9 2 9
result:
wrong answer Incorrect
Subtask #5:
score: 0
Skipped
Dependency #4:
0%
Subtask #6:
score: 0
Skipped
Dependency #5:
0%
Subtask #7:
score: 0
Skipped
Dependency #1:
0%