QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#375428 | #4088. 총 쏘기 | tuanlinh123 | 0 | 30ms | 4256kb | C++20 | 2.5kb | 2024-04-03 10:34:09 | 2024-04-03 10:34:11 |
Judging History
answer
#include<bits/stdc++.h>
#define ll int
#define pll pair<ll, ll>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ld long double
#define sz(a) ((ll)(a).size())
using namespace std;
const ll inf=1e9;
vector<pair<int, int>> min_shooting_buildings(vector<int> a)
{
ll n=sz(a);
vector <pll> p;
vector <ll> ok, pos(n+1, 0);
for (ll i=0; i<n; i++) pos[a[i]]=i;
for (ll i=0; i<n; i++)
{
ll Max=0;
for (ll j:ok)
if (j<=a[i])
Max=max(Max, j);
if (Max)
{
p.pb({Max, a[i]});
for (ll& j:ok)
if (j==Max)
{
swap(j, ok.back()), ok.pop_back();
break;
}
continue;
}
pair<int, int> Min={inf, inf};
for (pll j:p)
{
if (j.se<=a[i])
Min=min(Min, j);
if (j.fi<=a[i])
Min=min(Min, {j.se, j.fi});
}
if (Min.fi!=inf)
{
p.pb({Min.se, a[i]}), ok.pb(Min.fi);
if (Min.fi>Min.se) swap(Min.fi, Min.se);
for (pll& j:p)
if (j==Min)
{
swap(j, p.back()), p.pop_back();
break;
}
}
else ok.pb(a[i]);
}
vector <pll> ans;
for (pll& i:p) i={pos[i.fi], pos[i.se]};
for (ll i:ok) p.pb({pos[i], pos[i]});
sort(p.begin(), p.end());
for (ll i=0; i<sz(p); i++)
for (ll j=0; j<i; j++)
{
if (p[j].fi<p[i].fi && p[i].se<p[j].se)
{
if (a[p[i].se]>a[p[j].fi] && a[p[j].se]>a[p[i].fi])
swap(p[i].se, p[j].se);
}
else if (p[i].fi<p[j].fi && p[j].se<p[i].se)
{
if (a[p[j].se]>a[p[i].fi] && a[p[i].se]>a[p[j].fi])
swap(p[i].se, p[j].se);
}
}
vector <bool> check(sz(p), 0);
for (ll i=0; i<sz(p); i++)
{
for (ll j=0; j<sz(p); j++)
{
if (check[j]) continue;
auto [p1, p2]=p[j];
bool ok=1;
for (ll k=0; k<p1; k++)
if (a[k]>a[p1]) ok=0;
for (ll k=0; k<p2; k++)
if (a[k]>a[p2]) ok=0;
if (ok)
{
ans.pb({a[p[j].fi], a[p[j].se]}), check[j]=1, a[p1]=a[p2]=0;
break;
}
}
}
return ans;
}
詳細信息
Subtask #1:
score: 0
Time Limit Exceeded
Test #1:
score: 17
Accepted
time: 0ms
memory: 3776kb
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: 0ms
memory: 4028kb
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 8 4 7 6 6 5 5 2 3 1 1
result:
ok Correct
Test #3:
score: 0
Accepted
time: 0ms
memory: 3780kb
input:
16 16 13 10 7 6 15 14 12 5 11 4 9 3 8 1 2
output:
9 16 16 13 15 10 14 7 12 6 11 5 9 4 8 3 3 1 2
result:
ok Correct
Test #4:
score: 0
Accepted
time: 0ms
memory: 4060kb
input:
16 16 13 10 15 8 14 12 7 4 11 9 6 1 5 3 2
output:
10 16 16 13 15 10 14 8 12 7 11 9 9 4 6 5 5 3 3 1 2
result:
ok Correct
Test #5:
score: 0
Accepted
time: 1ms
memory: 3772kb
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 12 11 11 8 10 6 9 4 7 3 5 1 2
result:
ok Correct
Test #6:
score: 0
Accepted
time: 0ms
memory: 3800kb
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: 0ms
memory: 3772kb
input:
16 15 16 14 12 11 9 7 5 4 13 2 10 1 8 6 3
output:
10 15 16 14 14 12 13 11 11 9 10 7 8 5 6 4 4 2 3 1 1
result:
ok Correct
Test #8:
score: 0
Accepted
time: 1ms
memory: 3812kb
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 486 486 477 485 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 452 450 451 449 449 448 448 447 447 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: 1ms
memory: 3796kb
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 492 492 490 490 481 489 488 488 473 487 472 485 469 484 468 483 482 482 464 480 479 479 478 478 463 477 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: 1ms
memory: 3812kb
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 485 484 484 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: 1ms
memory: 3796kb
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 494 493 493 492 492 489 491 488 490 485 487 486 486 482 484 481 483 479 480 478 478 475 477 474 476 473 473 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: 1ms
memory: 3792kb
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 495 495 494 494 492 493 491 491 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 471 471 455 470 453 469 452 468 451 467 448 466 447 462 446 458 445 457 439 454 434 450 433 449 444 444 432 443 442 442 430 441 440 440 438 438 ...
result:
ok Correct
Test #13:
score: 0
Accepted
time: 1ms
memory: 3808kb
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: 0
Accepted
time: 30ms
memory: 4256kb
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:
3773 7495 7495 7490 7494 7488 7493 7486 7492 7481 7491 7480 7489 7478 7487 7477 7485 7475 7484 7463 7483 7460 7482 7459 7479 7458 7476 7457 7474 7455 7473 7454 7472 7453 7471 7452 7470 7450 7469 7448 7468 7444 7467 7442 7466 7440 7465 7435 7464 7431 7462 7426 7461 7423 7456 7422 7451 7421 7449 7418 ...
result:
ok Correct
Test #15:
score: 0
Accepted
time: 30ms
memory: 4256kb
input:
7496 7493 7496 7495 7490 7494 7489 7492 7491 7484 7476 7488 7487 7473 7471 7470 7468 7467 7465 7462 7456 7486 7455 7453 7451 7485 7446 7483 7482 7481 7480 7479 7478 7477 7445 7444 7475 7439 7435 7474 7472 7433 7432 7469 7430 7429 7428 7466 7464 7463 7427 7461 7460 7423 7422 7420 7459 7458 7418 7415 ...
output:
3779 7496 7496 7493 7495 7490 7494 7492 7492 7489 7491 7484 7488 7476 7487 7473 7486 7471 7485 7470 7483 7468 7482 7467 7481 7465 7480 7462 7479 7456 7478 7455 7477 7453 7475 7451 7474 7446 7472 7445 7469 7444 7466 7439 7464 7435 7463 7433 7461 7432 7460 7430 7459 7429 7458 7428 7457 7427 7454 7423 ...
result:
ok Correct
Test #16:
score: 0
Accepted
time: 30ms
memory: 3972kb
input:
7497 7493 7490 7489 7488 7487 7486 7497 7485 7496 7482 7495 7481 7480 7479 7478 7494 7492 7477 7470 7491 7469 7484 7483 7476 7468 7475 7466 7462 7474 7461 7473 7458 7457 7455 7472 7454 7453 7450 7447 7471 7445 7467 7465 7444 7464 7443 7442 7440 7463 7439 7460 7459 7438 7437 7435 7430 7456 7452 7427 ...
output:
3790 7493 7497 7490 7496 7489 7495 7488 7494 7487 7492 7486 7491 7485 7485 7482 7484 7481 7483 7480 7480 7479 7479 7478 7478 7477 7477 7470 7476 7469 7475 7468 7474 7466 7473 7462 7472 7461 7471 7458 7467 7457 7465 7455 7464 7454 7463 7453 7460 7450 7459 7447 7456 7445 7452 7444 7451 7443 7449 7442 ...
result:
ok Correct
Test #17:
score: 0
Accepted
time: 30ms
memory: 3928kb
input:
7498 7495 7494 7492 7488 7498 7497 7487 7486 7485 7496 7484 7483 7493 7491 7482 7490 7480 7489 7478 7477 7473 7472 7469 7481 7465 7464 7479 7476 7475 7463 7462 7459 7458 7474 7457 7456 7471 7470 7454 7452 7450 7447 7446 7468 7467 7444 7443 7439 7466 7438 7461 7437 7460 7455 7435 7434 7453 7433 7431 ...
output:
3768 7495 7498 7494 7497 7492 7496 7488 7493 7487 7491 7486 7490 7485 7489 7484 7484 7483 7483 7482 7482 7480 7481 7478 7479 7477 7477 7473 7476 7472 7475 7469 7474 7465 7471 7464 7470 7463 7468 7462 7467 7459 7466 7458 7461 7457 7460 7456 7456 7454 7455 7452 7453 7450 7451 7447 7449 7446 7448 7444 ...
result:
ok Correct
Test #18:
score: 0
Accepted
time: 30ms
memory: 3996kb
input:
7499 7498 7499 7491 7497 7496 7487 7495 7494 7485 7481 7479 7493 7492 7490 7489 7477 7488 7476 7471 7486 7470 7484 7464 7483 7463 7482 7460 7480 7459 7478 7475 7454 7452 7474 7473 7472 7451 7450 7449 7448 7446 7469 7468 7467 7466 7465 7443 7462 7438 7461 7458 7457 7456 7428 7455 7426 7425 7424 7423 ...
output:
3766 7498 7499 7497 7497 7491 7496 7495 7495 7487 7494 7485 7493 7481 7492 7490 7490 7479 7489 7477 7488 7476 7486 7471 7484 7470 7483 7464 7482 7463 7480 7460 7478 7459 7475 7454 7474 7473 7473 7452 7472 7451 7469 7450 7468 7449 7467 7448 7466 7446 7465 7443 7462 7461 7461 7458 7458 7457 7457 7438 ...
result:
ok Correct
Test #19:
score: 0
Accepted
time: 30ms
memory: 3988kb
input:
7500 7500 7498 7499 7497 7492 7490 7488 7485 7481 7479 7476 7471 7496 7470 7469 7495 7494 7466 7493 7491 7460 7489 7459 7458 7456 7455 7487 7453 7486 7450 7447 7484 7446 7443 7440 7436 7435 7483 7482 7430 7424 7423 7422 7480 7421 7478 7418 7416 7477 7413 7475 7411 7474 7473 7472 7468 7410 7467 7408 ...
output:
3788 7500 7500 7498 7499 7497 7497 7492 7496 7490 7495 7488 7494 7485 7493 7481 7491 7479 7489 7476 7487 7471 7486 7470 7484 7469 7483 7466 7482 7460 7480 7459 7478 7458 7477 7456 7475 7455 7474 7453 7473 7450 7472 7447 7468 7446 7467 7443 7465 7440 7464 7436 7463 7435 7462 7430 7461 7424 7457 7423 ...
result:
ok Correct
Test #20:
score: -17
Time Limit Exceeded
input:
99995 99992 99990 99995 99994 99989 99993 99985 99991 99979 99974 99970 99988 99987 99986 99969 99984 99965 99983 99982 99964 99981 99962 99961 99960 99958 99955 99980 99953 99978 99951 99977 99976 99950 99975 99948 99946 99939 99973 99936 99935 99930 99928 99972 99924 99971 99968 99923 99922 99920 ...
output:
50171 99992 99995 99990 99994 99989 99993 99985 99991 99979 99988 99974 99987 99970 99986 99969 99984 99983 99983 99965 99982 99964 99981 99962 99980 99961 99978 99960 99977 99958 99976 99955 99975 99953 99973 99951 99972 99950 99971 99948 99968 99946 99967 99939 99966 99936 99963 99935 99959 99930 ...
result:
Subtask #2:
score: 0
Wrong Answer
Test #26:
score: 12
Accepted
time: 0ms
memory: 3772kb
input:
8 5 6 7 1 2 8 3 4
output:
4 5 7 6 8 1 3 2 4
result:
ok Correct
Test #27:
score: -12
Wrong Answer
time: 0ms
memory: 3796kb
input:
16 2 4 5 1 9 10 3 6 14 7 8 11 12 16 13 15
output:
2 2 5 10 16
result:
wrong answer Incorrect
Subtask #3:
score: 0
Wrong Answer
Test #51:
score: 9
Accepted
time: 0ms
memory: 4028kb
input:
1 1
output:
1 1 1
result:
ok Correct
Test #52:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
2 1 2
output:
1 1 2
result:
ok Correct
Test #53:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
2 2 1
output:
2 2 2 1 1
result:
ok Correct
Test #54:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
3 1 3 2
output:
2 3 3 1 2
result:
ok Correct
Test #55:
score: 0
Accepted
time: 0ms
memory: 3860kb
input:
3 2 1 3
output:
2 2 3 1 1
result:
ok Correct
Test #56:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
3 2 3 1
output:
2 2 3 1 1
result:
ok Correct
Test #57:
score: 0
Accepted
time: 0ms
memory: 3728kb
input:
3 3 1 2
output:
2 3 3 1 2
result:
ok Correct
Test #58:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
4 2 1 4 3
output:
2 2 4 1 3
result:
ok Correct
Test #59:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
4 2 4 1 3
output:
2 2 4 1 3
result:
ok Correct
Test #60:
score: 0
Accepted
time: 0ms
memory: 3792kb
input:
4 3 1 4 2
output:
2 3 4 1 2
result:
ok Correct
Test #61:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
4 3 4 1 2
output:
2 3 4 1 2
result:
ok Correct
Test #62:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
3 3 2 1
output:
3 3 3 2 2 1 1
result:
ok Correct
Test #63:
score: 0
Accepted
time: 0ms
memory: 4056kb
input:
4 1 4 3 2
output:
3 4 4 3 3 1 2
result:
ok Correct
Test #64:
score: 0
Accepted
time: 0ms
memory: 4072kb
input:
4 2 4 3 1
output:
3 4 4 2 3 1 1
result:
ok Correct
Test #65:
score: 0
Accepted
time: 0ms
memory: 4028kb
input:
4 3 2 1 4
output:
3 3 4 2 2 1 1
result:
ok Correct
Test #66:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
4 3 2 4 1
output:
3 3 4 2 2 1 1
result:
ok Correct
Test #67:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
4 3 4 2 1
output:
3 3 4 2 2 1 1
result:
ok Correct
Test #68:
score: 0
Accepted
time: 0ms
memory: 4064kb
input:
4 4 1 3 2
output:
3 4 4 3 3 1 2
result:
ok Correct
Test #69:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
4 4 2 1 3
output:
3 4 4 2 3 1 1
result:
ok Correct
Test #70:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
4 4 2 3 1
output:
3 4 4 2 3 1 1
result:
ok Correct
Test #71:
score: 0
Accepted
time: 0ms
memory: 3804kb
input:
4 4 3 1 2
output:
3 4 4 3 3 1 2
result:
ok Correct
Test #72:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
4 4 3 2 1
output:
4 4 4 3 3 2 2 1 1
result:
ok Correct
Test #73:
score: 0
Accepted
time: 0ms
memory: 4076kb
input:
3 1 2 3
output:
2 1 1 2 3
result:
ok Correct
Test #74:
score: 0
Accepted
time: 0ms
memory: 3792kb
input:
4 1 2 3 4
output:
2 1 3 2 4
result:
ok Correct
Test #75:
score: 0
Accepted
time: 0ms
memory: 3796kb
input:
4 1 2 4 3
output:
2 1 4 2 3
result:
ok Correct
Test #76:
score: 0
Accepted
time: 0ms
memory: 4076kb
input:
4 1 3 2 4
output:
2 3 4 1 2
result:
ok Correct
Test #77:
score: 0
Accepted
time: 0ms
memory: 4088kb
input:
4 1 3 4 2
output:
2 3 4 1 2
result:
ok Correct
Test #78:
score: -9
Wrong Answer
time: 0ms
memory: 3776kb
input:
4 1 4 2 3
output:
3 1 1 4 4 2 3
result:
wrong answer Incorrect
Subtask #4:
score: 0
Skipped
Dependency #3:
0%
Subtask #5:
score: 0
Skipped
Dependency #4:
0%
Subtask #6:
score: 0
Skipped
Dependency #5:
0%
Subtask #7:
score: 0
Skipped
Dependency #1:
0%