ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#188467 | #3363. 序列价值 | stonesx | 100 | 2182ms | 16816kb | C++11 | 822b | 2023-10-03 09:48:24 | 2023-10-03 12:14:34 |
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
typedef long long ll;
int n, x, pre[N], nxt[N];
ll a[N], ans;
void handle(int pos)
{
if (pos == 1)
ans ^= a[1] * a[nxt[1]];
else if (pos == n)
ans ^= a[n] * a[pre[n]];
else
{
ans ^= a[pos] * a[pre[pos]];
ans ^= a[pos] * a[nxt[pos]];
ans ^= a[pre[pos]] * a[nxt[pos]];
}
pre[nxt[pos]] = pre[pos], nxt[pre[pos]] = nxt[pos];
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
// freopen("data.out", "w", stdout);
#endif
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
scanf("%lld", &a[i]);
pre[i] = i - 1, nxt[i] = i + 1;
ans ^= a[i] * a[i - 1];
}
for (int i = 1; i <= n - 1; i++)
{
if (i != 1)
scanf("%d", &x), handle(x);
printf("%lld\n", ans);
}
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 3304kb
input:
5000 646281266 83426155 32761725 874777117 160325894 106628928 674537652 501242738 414378844 2882889...
output:
92987107493473763 266883714701385089 396513919132497901 140658291623730124 52877620187497517 5315852...
result:
ok 4999 numbers
Test #2:
score: 10
Accepted
time: 0ms
memory: 3300kb
input:
5000 142976290 696375334 5508843 779453902 787743512 557904541 508574771 609120068 624572675 1609158...
output:
1031930973459692648 298456115123965145 989495246110361742 1119691219052826940 717308331052388603 103...
result:
ok 4999 numbers
Test #3:
score: 10
Accepted
time: 2ms
memory: 3300kb
input:
5000 689759187 766269666 113869742 430591091 371364351 455322139 255229431 387889535 950106338 86825...
output:
703584314107632280 818273970002805488 1078949071160741810 1111639403131282587 734364402739245026 875...
result:
ok 4999 numbers
Test #4:
score: 10
Accepted
time: 0ms
memory: 3304kb
input:
5000 531217474 789091721 215252536 372835317 700423035 974711427 652748402 571305285 997008504 37363...
output:
559977641873536224 224292145735286345 702662681810450139 778411160442528443 897340275350108544 58787...
result:
ok 4999 numbers
Test #5:
score: 10
Accepted
time: 2ms
memory: 3304kb
input:
5000 910423957 165986780 943714472 831155998 709013843 269473126 632360447 139858782 923053920 12371...
output:
742830227290764950 76750290844019519 14282397106876542 575540219818005582 107219569506564802 1709356...
result:
ok 4999 numbers
Test #6:
score: 10
Accepted
time: 478ms
memory: 16816kb
input:
1000000 98378960 815273171 798527144 56276225 326952268 191416604 442940788 417409004 506944194 2641...
output:
101249486025565073 183843990354960429 52840814951330268 412436706043203972 256884545667608880 828698...
result:
ok 999999 numbers
Test #7:
score: 10
Accepted
time: 467ms
memory: 16816kb
input:
1000000 768864484 338833208 817166554 281484927 193649384 38376435 76366410 944256221 605145306 1320...
output:
68979361443810328 285879048479439729 315585458075336222 1137178003646092005 646330091029375749 92092...
result:
ok 999999 numbers
Test #8:
score: 10
Accepted
time: 565ms
memory: 16812kb
input:
1000000 465652692 341487258 736236779 223127377 483740656 100569409 307894190 223331213 918270622 14...
output:
830218144876462106 859713694499435763 1092102687413303058 827433194491416146 928193180106802806 1080...
result:
ok 999999 numbers
Test #9:
score: 10
Accepted
time: 345ms
memory: 16816kb
input:
1000000 458380145 5656703 672788495 688854766 141174693 721133442 723965137 391959978 175778473 6452...
output:
743740275918110562 688504828622761238 809679581132707858 1096088677794118390 927269021158712026 1008...
result:
ok 999999 numbers
Test #10:
score: 10
Accepted
time: 323ms
memory: 16812kb
input:
1000000 466301352 720158180 378002604 648267592 261297918 553747677 489172450 432418688 779084651 73...
output:
904308807488396727 796572657731139558 41089680038788312 839860487598530634 586534549895784896 650749...
result:
ok 999999 numbers
Extra Test:
score: 0
Extra Test Passed