Task: | Mega Inversions |
Sender: | Ke Bi |
Submission time: | 2017-10-03 16:36:39 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.23 s | details |
#2 | ACCEPTED | 0.20 s | details |
#3 | ACCEPTED | 0.17 s | details |
#4 | ACCEPTED | 0.19 s | details |
#5 | ACCEPTED | 0.23 s | details |
#6 | ACCEPTED | 0.17 s | details |
#7 | ACCEPTED | 0.15 s | details |
#8 | ACCEPTED | 0.22 s | details |
#9 | ACCEPTED | 0.18 s | details |
#10 | ACCEPTED | 0.22 s | details |
#11 | ACCEPTED | 0.05 s | details |
#12 | ACCEPTED | 0.08 s | details |
#13 | ACCEPTED | 0.07 s | details |
#14 | ACCEPTED | 0.05 s | details |
#15 | ACCEPTED | 0.04 s | details |
#16 | ACCEPTED | 0.06 s | details |
#17 | ACCEPTED | 0.05 s | details |
#18 | ACCEPTED | 0.04 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:20:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^ input/code.cpp:24:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &x); ^
Code
#include <bits/stdc++.h> using namespace std; int n; long long c[500020]; long long d[500020]; void R(long long c[], int x, long long y) { for (; x <= n; x += x & -x) { c[x] += y; } } long long G(long long c[], int x) { long long re = 0; for (; x; x -= x & -x) { re += c[x]; } return re; } int main() { scanf("%d", &n); long long ans = 0; for (int i = 0; i < n; i++) { int x; scanf("%d", &x); ans += G(d, n) - G(d, x); R(d, x, G(c, n) - G(c, x)); R(c, x, 1); } printf("%lld\n", ans); return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
500000 289384 430887 192778 136916 24... |
correct output |
---|
3462273770285851 |
user output |
---|
3462273770285851 |
Test 2
Verdict: ACCEPTED
input |
---|
500000 382213 21639 220700 75692 3046... |
correct output |
---|
3485180959426295 |
user output |
---|
3485180959426295 |
Test 3
Verdict: ACCEPTED
input |
---|
500000 126690 371364 446885 348594 13... |
correct output |
---|
3477492420887556 |
user output |
---|
3477492420887556 |
Test 4
Verdict: ACCEPTED
input |
---|
500000 42662 481114 312377 69861 7962... |
correct output |
---|
3475393752560785 |
user output |
---|
3475393752560785 |
Test 5
Verdict: ACCEPTED
input |
---|
500000 87517 398064 349297 387923 451... |
correct output |
---|
3471906656975056 |
user output |
---|
3471906656975056 |
Test 6
Verdict: ACCEPTED
input |
---|
500000 32451 250738 273961 357671 137... |
correct output |
---|
3460754378741711 |
user output |
---|
3460754378741711 |
Test 7
Verdict: ACCEPTED
input |
---|
500000 90672 310026 72922 224011 3703... |
correct output |
---|
3476018102026120 |
user output |
---|
3476018102026120 |
Test 8
Verdict: ACCEPTED
input |
---|
500000 425377 326433 228759 266715 81... |
correct output |
---|
3465242936420874 |
user output |
---|
3465242936420874 |
Test 9
Verdict: ACCEPTED
input |
---|
500000 23470 483991 430548 458582 278... |
correct output |
---|
3470073617672348 |
user output |
---|
3470073617672348 |
Test 10
Verdict: ACCEPTED
input |
---|
500000 369724 122728 326689 334480 34... |
correct output |
---|
3474985893406401 |
user output |
---|
3474985893406401 |
Test 11
Verdict: ACCEPTED
input |
---|
10000 605 9123 24 8124 4758 1782 975... |
correct output |
---|
27409866438 |
user output |
---|
27409866438 |
Test 12
Verdict: ACCEPTED
input |
---|
100000 42 18468 6335 26501 19170 1572... |
correct output |
---|
27944091731907 |
user output |
---|
27944091731907 |
Test 13
Verdict: ACCEPTED
input |
---|
100000 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 14
Verdict: ACCEPTED
input |
---|
99999 99999 99998 99997 99996 99995 ... |
correct output |
---|
166656666849999 |
user output |
---|
166656666849999 |
Test 15
Verdict: ACCEPTED
input |
---|
99998 2 1 4 3 6 5 8 7 10 9 12 11 14 ... |
correct output |
---|
49997 |
user output |
---|
49997 |
Test 16
Verdict: ACCEPTED
input |
---|
99997 1 99995 99996 99993 99994 9999... |
correct output |
---|
166636668399968 |
user output |
---|
166636668399968 |
Test 17
Verdict: ACCEPTED
input |
---|
100000 32769 32763 32774 32764 32761 ... |
correct output |
---|
5672756782663 |
user output |
---|
5672756782663 |
Test 18
Verdict: ACCEPTED
input |
---|
10 10 10 10 10 10 10 10 10 10 9 |
correct output |
---|
0 |
user output |
---|
0 |