Submission #55476952
Source Code Expand
#include<bits/stdc++.h> #define L(i, j, k) for(int i = (j); i <= (k); ++i) #define R(i, j, k) for(int i = (j); i >= (k); --i) #define ll long long #define vi vector <int> #define sz(a) ((int) (a).size()) #define me(f, x) memset(f, x, sizeof(f)) using namespace std; const int N = 1 << 20; int n, a[N]; template < int N > struct fenwt { using F = long long ; F a[N + 1]; void add (int x, F w) { for (; x <= N; x += x & -x) a[x] += w; } F query (int x) { F ret = 0; for (; x; x -= x & -x) ret += a[x]; return ret; } F get (int l, int r) { if(l > r) return 0; return query (r) - query (l - 1); } } ; fenwt < N > A; ll ns[N], f[N]; void Main () { cin >> n; L(i, 1, n) cin >> a[i]; vector<int> inva(n + 1); for (int i = 1; i <= n; ++i) inva[a[i]] = i; for (int i = 1; i <= n; ++i) a[i] = inva[i]; ns[0] = 0; L(i, 1, n) f[i] = i - 1 - (a[i] - 1) * 2; R(i, n, 1) ns[0] += A.query(a[i]), A.add(a[i], 1); L(i, 1, n) A.add(a[i], -1); sort(f + 1, f + n + 1), reverse(f + 1, f + n + 1); L(i, 1, n) ns[i] = ns[i - 1] - (i - 1) - f[i]; ll res = numeric_limits<ll>::max(); L(i, 0, n) res = min(res, ns[i]); cout << res << '\n'; } int main () { ios :: sync_with_stdio(false); cin.tie (0); cout.tie (0); int t = 1; while (t--) Main (); return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Almost Bubble Sort |
User | Petr |
Language | C++ 20 (gcc 12.2) |
Score | 2000 |
Code Size | 1356 Byte |
Status | AC |
Exec Time | 145 ms |
Memory | 28304 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 2000 / 2000 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 00-sample-004.txt |
All | 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 00-sample-004.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt, 01-022.txt, 01-023.txt, 01-024.txt, 01-025.txt, 01-026.txt, 01-027.txt, 01-028.txt, 01-029.txt, 01-030.txt, 01-031.txt, 01-032.txt, 01-033.txt, 01-034.txt, 01-035.txt, 01-036.txt, 01-037.txt, 01-038.txt, 01-039.txt, 01-040.txt, 01-041.txt, 01-042.txt, 01-043.txt, 01-044.txt, 01-045.txt, 01-046.txt, 01-047.txt, 01-048.txt, 01-049.txt, 01-050.txt, 01-051.txt, 01-052.txt, 01-053.txt, 01-054.txt, 01-055.txt, 01-056.txt, 01-057.txt, 01-058.txt, 01-059.txt, 01-060.txt, 01-061.txt, 01-062.txt, 01-063.txt, 01-064.txt, 01-065.txt, 01-066.txt, 01-067.txt, 01-068.txt, 01-069.txt, 01-070.txt, 01-071.txt, 01-072.txt, 01-073.txt, 01-074.txt, 01-075.txt, 01-076.txt, 01-077.txt, 01-078.txt, 01-079.txt, 01-080.txt, 01-081.txt, 01-082.txt, 01-083.txt, 01-084.txt, 01-085.txt, 01-086.txt, 01-087.txt, 01-088.txt, 01-089.txt, 01-090.txt, 01-091.txt, 01-092.txt, 01-093.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00-sample-001.txt | AC | 1 ms | 3432 KiB |
00-sample-002.txt | AC | 1 ms | 3512 KiB |
00-sample-003.txt | AC | 1 ms | 3456 KiB |
00-sample-004.txt | AC | 1 ms | 3516 KiB |
01-001.txt | AC | 1 ms | 3468 KiB |
01-002.txt | AC | 1 ms | 3468 KiB |
01-003.txt | AC | 1 ms | 3648 KiB |
01-004.txt | AC | 1 ms | 3536 KiB |
01-005.txt | AC | 17 ms | 6324 KiB |
01-006.txt | AC | 127 ms | 24960 KiB |
01-007.txt | AC | 22 ms | 7224 KiB |
01-008.txt | AC | 145 ms | 28000 KiB |
01-009.txt | AC | 145 ms | 28164 KiB |
01-010.txt | AC | 145 ms | 28004 KiB |
01-011.txt | AC | 69 ms | 28132 KiB |
01-012.txt | AC | 71 ms | 28108 KiB |
01-013.txt | AC | 89 ms | 28184 KiB |
01-014.txt | AC | 125 ms | 27992 KiB |
01-015.txt | AC | 134 ms | 28228 KiB |
01-016.txt | AC | 139 ms | 28120 KiB |
01-017.txt | AC | 141 ms | 28112 KiB |
01-018.txt | AC | 104 ms | 27952 KiB |
01-019.txt | AC | 110 ms | 27840 KiB |
01-020.txt | AC | 93 ms | 27968 KiB |
01-021.txt | AC | 121 ms | 28020 KiB |
01-022.txt | AC | 89 ms | 28004 KiB |
01-023.txt | AC | 124 ms | 28144 KiB |
01-024.txt | AC | 85 ms | 27972 KiB |
01-025.txt | AC | 134 ms | 28040 KiB |
01-026.txt | AC | 81 ms | 28020 KiB |
01-027.txt | AC | 138 ms | 27936 KiB |
01-028.txt | AC | 80 ms | 28060 KiB |
01-029.txt | AC | 141 ms | 28104 KiB |
01-030.txt | AC | 97 ms | 27908 KiB |
01-031.txt | AC | 95 ms | 27948 KiB |
01-032.txt | AC | 89 ms | 28056 KiB |
01-033.txt | AC | 85 ms | 28032 KiB |
01-034.txt | AC | 82 ms | 28056 KiB |
01-035.txt | AC | 80 ms | 27924 KiB |
01-036.txt | AC | 84 ms | 27912 KiB |
01-037.txt | AC | 84 ms | 27928 KiB |
01-038.txt | AC | 100 ms | 28016 KiB |
01-039.txt | AC | 103 ms | 27976 KiB |
01-040.txt | AC | 105 ms | 28228 KiB |
01-041.txt | AC | 110 ms | 27952 KiB |
01-042.txt | AC | 107 ms | 28180 KiB |
01-043.txt | AC | 113 ms | 28184 KiB |
01-044.txt | AC | 111 ms | 28304 KiB |
01-045.txt | AC | 113 ms | 28224 KiB |
01-046.txt | AC | 113 ms | 27892 KiB |
01-047.txt | AC | 116 ms | 28224 KiB |
01-048.txt | AC | 110 ms | 27956 KiB |
01-049.txt | AC | 105 ms | 27952 KiB |
01-050.txt | AC | 96 ms | 28024 KiB |
01-051.txt | AC | 105 ms | 28044 KiB |
01-052.txt | AC | 108 ms | 27908 KiB |
01-053.txt | AC | 117 ms | 27924 KiB |
01-054.txt | AC | 111 ms | 27976 KiB |
01-055.txt | AC | 111 ms | 27952 KiB |
01-056.txt | AC | 112 ms | 27948 KiB |
01-057.txt | AC | 111 ms | 27948 KiB |
01-058.txt | AC | 113 ms | 28156 KiB |
01-059.txt | AC | 115 ms | 27920 KiB |
01-060.txt | AC | 98 ms | 28048 KiB |
01-061.txt | AC | 99 ms | 27876 KiB |
01-062.txt | AC | 99 ms | 28172 KiB |
01-063.txt | AC | 101 ms | 28232 KiB |
01-064.txt | AC | 104 ms | 28204 KiB |
01-065.txt | AC | 107 ms | 28156 KiB |
01-066.txt | AC | 110 ms | 28072 KiB |
01-067.txt | AC | 112 ms | 27904 KiB |
01-068.txt | AC | 114 ms | 28092 KiB |
01-069.txt | AC | 117 ms | 27988 KiB |
01-070.txt | AC | 121 ms | 28112 KiB |
01-071.txt | AC | 124 ms | 27860 KiB |
01-072.txt | AC | 127 ms | 28112 KiB |
01-073.txt | AC | 133 ms | 27904 KiB |
01-074.txt | AC | 101 ms | 27940 KiB |
01-075.txt | AC | 114 ms | 28056 KiB |
01-076.txt | AC | 115 ms | 27916 KiB |
01-077.txt | AC | 116 ms | 27956 KiB |
01-078.txt | AC | 110 ms | 27952 KiB |
01-079.txt | AC | 103 ms | 27916 KiB |
01-080.txt | AC | 114 ms | 27924 KiB |
01-081.txt | AC | 117 ms | 27932 KiB |
01-082.txt | AC | 118 ms | 27964 KiB |
01-083.txt | AC | 116 ms | 27956 KiB |
01-084.txt | AC | 105 ms | 28056 KiB |
01-085.txt | AC | 113 ms | 27932 KiB |
01-086.txt | AC | 115 ms | 27900 KiB |
01-087.txt | AC | 118 ms | 27952 KiB |
01-088.txt | AC | 118 ms | 27900 KiB |
01-089.txt | AC | 103 ms | 28072 KiB |
01-090.txt | AC | 110 ms | 27936 KiB |
01-091.txt | AC | 112 ms | 27952 KiB |
01-092.txt | AC | 116 ms | 28064 KiB |
01-093.txt | AC | 117 ms | 27912 KiB |