# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
90982 | 2018-12-25T11:40:22 Z | tincamatei | 원 고르기 (APIO18_circle_selection) | C++14 | 3000 ms | 352544 KB |
#include <bits/stdc++.h> using namespace std; unordered_map<int, unordered_map<int, vector<int> > > grid; const int MAX_N = 300000; int xc[1+MAX_N], yc[1+MAX_N], rc[1+MAX_N]; int rez[1+MAX_N]; int poz[1+MAX_N]; void rescale(int n, int d) { grid.clear(); for(int i = 1; i <= n; ++i) if(rez[i] == 0) grid[xc[i] / d][yc[i] / d].push_back(i); } bool cmp(int a, int b) { return rc[a] > rc[b] || (rc[a] == rc[b] && a < b); } double dist(int a, int b) { return sqrt((long long)(xc[a] - xc[b]) * (xc[a] - xc[b]) + (long long)(yc[a] - yc[b]) * (yc[a] - yc[b])); } int main() { #ifdef HOME FILE *fin = fopen("input.in", "r"); FILE *fout = fopen("output.out", "w"); #else FILE *fin = stdin; FILE *fout = stdout; #endif int n; int mnx, mny; mnx = mny = 1000000000; fscanf(fin, "%d", &n); for(int i = 1; i <= n; ++i) { fscanf(fin, "%d%d%d", &xc[i], &yc[i], &rc[i]); mnx = min(mnx, xc[i]); mny = min(mny, yc[i]); poz[i - 1] = i; } for(int i = 1; i <= n; ++i) { xc[i] -= mnx; yc[i] -= mny; } sort(poz, poz + n, cmp); int lastr = (1 << 30); rescale(n, lastr); for(int i = 0; i < n; ++i) { int p = poz[i]; if(rez[p] == 0) { while(rc[p] * 2 <= lastr) { lastr = rc[p]; rescale(n, lastr); } int x = xc[p] / lastr, y = yc[p] / lastr; for(int i = x - 2; i <= x + 2; ++i) for(int j = y - 2; j <= y + 2; ++j) { for(auto it: grid[i][j]) if(rez[it] == 0 && dist(p, it) <= rc[p] + rc[it]) rez[it] = p; } } } for(int i = 1; i <= n; ++i) fprintf(fout, "%d ", rez[i]); #ifdef HOME fclose(fin); fclose(fout); #endif return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 448 KB | Output is correct |
4 | Correct | 2 ms | 468 KB | Output is correct |
5 | Correct | 2 ms | 544 KB | Output is correct |
6 | Correct | 2 ms | 596 KB | Output is correct |
7 | Correct | 2 ms | 596 KB | Output is correct |
8 | Correct | 2 ms | 608 KB | Output is correct |
9 | Correct | 2 ms | 608 KB | Output is correct |
10 | Correct | 2 ms | 612 KB | Output is correct |
11 | Correct | 2 ms | 744 KB | Output is correct |
12 | Correct | 2 ms | 748 KB | Output is correct |
13 | Correct | 2 ms | 752 KB | Output is correct |
14 | Correct | 2 ms | 768 KB | Output is correct |
15 | Correct | 2 ms | 772 KB | Output is correct |
16 | Correct | 3 ms | 772 KB | Output is correct |
17 | Correct | 3 ms | 772 KB | Output is correct |
18 | Correct | 2 ms | 772 KB | Output is correct |
19 | Correct | 5 ms | 1004 KB | Output is correct |
20 | Correct | 5 ms | 1152 KB | Output is correct |
21 | Correct | 5 ms | 1320 KB | Output is correct |
22 | Correct | 48 ms | 5844 KB | Output is correct |
23 | Correct | 36 ms | 5844 KB | Output is correct |
24 | Correct | 32 ms | 6404 KB | Output is correct |
25 | Correct | 38 ms | 7432 KB | Output is correct |
26 | Correct | 39 ms | 7432 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 204 ms | 15060 KB | Output is correct |
2 | Correct | 205 ms | 15264 KB | Output is correct |
3 | Correct | 208 ms | 19804 KB | Output is correct |
4 | Correct | 199 ms | 19804 KB | Output is correct |
5 | Correct | 247 ms | 22496 KB | Output is correct |
6 | Correct | 1626 ms | 94064 KB | Output is correct |
7 | Correct | 294 ms | 94064 KB | Output is correct |
8 | Correct | 517 ms | 94064 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 94064 KB | Output is correct |
2 | Correct | 1783 ms | 94064 KB | Output is correct |
3 | Execution timed out | 3058 ms | 257636 KB | Time limit exceeded |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 3075 ms | 352544 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 448 KB | Output is correct |
4 | Correct | 2 ms | 468 KB | Output is correct |
5 | Correct | 2 ms | 544 KB | Output is correct |
6 | Correct | 2 ms | 596 KB | Output is correct |
7 | Correct | 2 ms | 596 KB | Output is correct |
8 | Correct | 2 ms | 608 KB | Output is correct |
9 | Correct | 2 ms | 608 KB | Output is correct |
10 | Correct | 2 ms | 612 KB | Output is correct |
11 | Correct | 2 ms | 744 KB | Output is correct |
12 | Correct | 2 ms | 748 KB | Output is correct |
13 | Correct | 2 ms | 752 KB | Output is correct |
14 | Correct | 2 ms | 768 KB | Output is correct |
15 | Correct | 2 ms | 772 KB | Output is correct |
16 | Correct | 3 ms | 772 KB | Output is correct |
17 | Correct | 3 ms | 772 KB | Output is correct |
18 | Correct | 2 ms | 772 KB | Output is correct |
19 | Correct | 5 ms | 1004 KB | Output is correct |
20 | Correct | 5 ms | 1152 KB | Output is correct |
21 | Correct | 5 ms | 1320 KB | Output is correct |
22 | Correct | 48 ms | 5844 KB | Output is correct |
23 | Correct | 36 ms | 5844 KB | Output is correct |
24 | Correct | 32 ms | 6404 KB | Output is correct |
25 | Correct | 38 ms | 7432 KB | Output is correct |
26 | Correct | 39 ms | 7432 KB | Output is correct |
27 | Correct | 9 ms | 352544 KB | Output is correct |
28 | Correct | 9 ms | 352544 KB | Output is correct |
29 | Correct | 9 ms | 352544 KB | Output is correct |
30 | Correct | 92 ms | 352544 KB | Output is correct |
31 | Correct | 98 ms | 352544 KB | Output is correct |
32 | Correct | 91 ms | 352544 KB | Output is correct |
33 | Correct | 70 ms | 352544 KB | Output is correct |
34 | Correct | 71 ms | 352544 KB | Output is correct |
35 | Correct | 78 ms | 352544 KB | Output is correct |
36 | Correct | 1671 ms | 352544 KB | Output is correct |
37 | Correct | 1425 ms | 352544 KB | Output is correct |
38 | Correct | 1869 ms | 352544 KB | Output is correct |
39 | Correct | 503 ms | 352544 KB | Output is correct |
40 | Correct | 450 ms | 352544 KB | Output is correct |
41 | Correct | 473 ms | 352544 KB | Output is correct |
42 | Correct | 184 ms | 352544 KB | Output is correct |
43 | Correct | 965 ms | 352544 KB | Output is correct |
44 | Correct | 997 ms | 352544 KB | Output is correct |
45 | Correct | 982 ms | 352544 KB | Output is correct |
46 | Correct | 1026 ms | 352544 KB | Output is correct |
47 | Correct | 1008 ms | 352544 KB | Output is correct |
48 | Correct | 802 ms | 352544 KB | Output is correct |
49 | Correct | 920 ms | 352544 KB | Output is correct |
50 | Correct | 1068 ms | 352544 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 448 KB | Output is correct |
4 | Correct | 2 ms | 468 KB | Output is correct |
5 | Correct | 2 ms | 544 KB | Output is correct |
6 | Correct | 2 ms | 596 KB | Output is correct |
7 | Correct | 2 ms | 596 KB | Output is correct |
8 | Correct | 2 ms | 608 KB | Output is correct |
9 | Correct | 2 ms | 608 KB | Output is correct |
10 | Correct | 2 ms | 612 KB | Output is correct |
11 | Correct | 2 ms | 744 KB | Output is correct |
12 | Correct | 2 ms | 748 KB | Output is correct |
13 | Correct | 2 ms | 752 KB | Output is correct |
14 | Correct | 2 ms | 768 KB | Output is correct |
15 | Correct | 2 ms | 772 KB | Output is correct |
16 | Correct | 3 ms | 772 KB | Output is correct |
17 | Correct | 3 ms | 772 KB | Output is correct |
18 | Correct | 2 ms | 772 KB | Output is correct |
19 | Correct | 5 ms | 1004 KB | Output is correct |
20 | Correct | 5 ms | 1152 KB | Output is correct |
21 | Correct | 5 ms | 1320 KB | Output is correct |
22 | Correct | 48 ms | 5844 KB | Output is correct |
23 | Correct | 36 ms | 5844 KB | Output is correct |
24 | Correct | 32 ms | 6404 KB | Output is correct |
25 | Correct | 38 ms | 7432 KB | Output is correct |
26 | Correct | 39 ms | 7432 KB | Output is correct |
27 | Correct | 204 ms | 15060 KB | Output is correct |
28 | Correct | 205 ms | 15264 KB | Output is correct |
29 | Correct | 208 ms | 19804 KB | Output is correct |
30 | Correct | 199 ms | 19804 KB | Output is correct |
31 | Correct | 247 ms | 22496 KB | Output is correct |
32 | Correct | 1626 ms | 94064 KB | Output is correct |
33 | Correct | 294 ms | 94064 KB | Output is correct |
34 | Correct | 517 ms | 94064 KB | Output is correct |
35 | Correct | 2 ms | 94064 KB | Output is correct |
36 | Correct | 1783 ms | 94064 KB | Output is correct |
37 | Execution timed out | 3058 ms | 257636 KB | Time limit exceeded |
38 | Halted | 0 ms | 0 KB | - |