3006 - 터보소트
3006번: 터보소트 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이며, 배열의 크기이다. 둘째 줄부터 N개의 줄에는 1보다 크거나 같고, N보다 작거나 같은 수가 중복 없이 주어진다 www.acmicpc.net #include const int LN = 1e5; int N; int idxs[LN + 10]; int tree[LN * 3 + 10]; int seg_init(int n, int s, int e) { if (s == e) { return tree[n] = 1; } int m = (s + e) / 2; return tree[n] = seg_init(n * 2, s, m) + seg_init(n * 2 + 1, m + 1, e); } void upda..
더보기
1074 - Z
1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net #include int N, r, c; int res; int sqrt(int num, int N) { int n = 0; int res = 1; for (int n = 0; n < N; ++n) { res *= num; } return res; } void init() { scanf("%d %d %d", &N, &r, &c); } void cal(int cs, int rs, int ce, int re) { int cm = (cs + ce) / 2; i..
더보기