# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
977954 | 2024-05-08T14:31:29 Z | qwerasdfzxcl | Coin Collecting (JOI19_ho_t4) | C++17 | 1 ms | 1012 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; int a[100100][2]; int main(){ int n; scanf("%d", &n); ll ans = 0; for (int i=1;i<=n*2;i++){ int x, y, nx, ny; scanf("%d %d", &x, &y); if (y <= 1) ny = 1; else ny = 2; if (x <= 1) nx = 1; else if (x <= n) nx = x; else nx = n; ans += abs(nx-x) + abs(ny-y); a[nx][ny-1]++; } for (int i=1,j0=1,j1=1;i<=n;i++){ while(j0 <= n && a[j0][0]==0) j0++; while(j1 <= n && a[j1][1]==0) j1++; if (j0 <= i && j1 <= i){ a[j0][0]--; assert(a[j0][0] >= 0); a[j1][1]--; assert(a[j1][1] >= 0); ans += abs(j0-i) + abs(j1-i); } else if (j0 <= i){ a[j0][0]--; assert(a[j0][0] >= 0); ans += abs(j0-i); while(j0 <= n && a[j0][0]==0) j0++; if (j0 <= i || a[j1][1]==0){ a[j0][0]--; assert(a[j0][0] >= 0); ans += abs(j0-i) + 1; } else{ a[j1][1]--; assert(a[j1][1] >= 0); ans += abs(j1-i); } } else if (j1 <= i){ a[j1][1]--; assert(a[j1][1] >= 0); ans += abs(j1-i); while(j1 <= n && a[j1][1]==0) j1++; if (j1 <= i || a[j0][0]==0){ a[j1][1]--; assert(a[j1][1] >= 0); ans += abs(j1-i) + 1; } else{ a[j0][0]--; assert(a[j0][0] >= 0); ans += abs(j0-i); } } else if (j0 <= n && j1 <= n){ a[j0][0]--; assert(a[j0][0] >= 0); a[j1][1]--; assert(a[j1][1] >= 0); ans += abs(j0-i) + abs(j1-i); } else if (j0 <= n){ a[j0][0]--; assert(a[j0][0] >= 0); ans += abs(j0-i); while(j0 <= n && a[j0][0]==0) j0++; a[j0][0]--; assert(a[j0][0] >= 0); ans += abs(j0-i) + 1; } else{ a[j1][1]--; assert(a[j1][1] >= 0); ans += abs(j1-i); while(j1 <= n && a[j1][1]==0) j1++; a[j1][1]--; assert(a[j1][1] >= 0); ans += abs(j1-i) + 1; } } printf("%lld\n", ans); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 344 KB | Output is correct |
10 | Correct | 1 ms | 1012 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 348 KB | Output is correct |
15 | Correct | 0 ms | 344 KB | Output is correct |
16 | Correct | 0 ms | 348 KB | Output is correct |
17 | Correct | 0 ms | 348 KB | Output is correct |
18 | Correct | 0 ms | 344 KB | Output is correct |
19 | Correct | 0 ms | 344 KB | Output is correct |
20 | Correct | 0 ms | 348 KB | Output is correct |
21 | Correct | 0 ms | 348 KB | Output is correct |
22 | Correct | 0 ms | 348 KB | Output is correct |
23 | Incorrect | 1 ms | 344 KB | Output isn't correct |
24 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 344 KB | Output is correct |
10 | Correct | 1 ms | 1012 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 348 KB | Output is correct |
15 | Correct | 0 ms | 344 KB | Output is correct |
16 | Correct | 0 ms | 348 KB | Output is correct |
17 | Correct | 0 ms | 348 KB | Output is correct |
18 | Correct | 0 ms | 344 KB | Output is correct |
19 | Correct | 0 ms | 344 KB | Output is correct |
20 | Correct | 0 ms | 348 KB | Output is correct |
21 | Correct | 0 ms | 348 KB | Output is correct |
22 | Correct | 0 ms | 348 KB | Output is correct |
23 | Incorrect | 1 ms | 344 KB | Output isn't correct |
24 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 344 KB | Output is correct |
10 | Correct | 1 ms | 1012 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 348 KB | Output is correct |
15 | Correct | 0 ms | 344 KB | Output is correct |
16 | Correct | 0 ms | 348 KB | Output is correct |
17 | Correct | 0 ms | 348 KB | Output is correct |
18 | Correct | 0 ms | 344 KB | Output is correct |
19 | Correct | 0 ms | 344 KB | Output is correct |
20 | Correct | 0 ms | 348 KB | Output is correct |
21 | Correct | 0 ms | 348 KB | Output is correct |
22 | Correct | 0 ms | 348 KB | Output is correct |
23 | Incorrect | 1 ms | 344 KB | Output isn't correct |
24 | Halted | 0 ms | 0 KB | - |