정렬 51

BOJ 25577 : 열 정렬정렬 정

문제 링크 : boj.kr/25577 난이도 : G4 태그 : 정렬, 그리디 25577번: 열 정렬정렬 정 첫 번째 줄에 배열의 크기 $N(4 ≤ N​ ≤ 100\,000)$이 주어진다. 그다음 줄에 배열의 원소 $A_1, A_2, \cdots, A_n (-10^9 ≤ A_i ≤ 10^9, i \neq j $ 이면 $ A_i \neq A_j )$ 이 주어진다. 배열의 원소는 모두 정수이다 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using..

PS 2024.04.11

BOJ 27279 : 조사전달

문제 링크 : boj.kr/27279 난이도 : G4 태그 : 정렬, 그리디 27279번: 조사전달 만약 각 병사들이 순서대로 $\{1\}$, $\{2, 4\}$, $\{1, 2, 3, 4\}$, $\{2, 3, 4\}$, $\{1, 2, 3, 4\}$번 사역이 가능하다고 했다면, $1$번 사역에 $1$번 병사를, $2$번 사역에 $2$번 병사를, $3$번 사역에 $3$번과 $4$번 병 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using ..

PS 2024.04.10

BOJ 1461 : 도서관

문제 링크 : boj.kr/1461 난이도 : G4 태그 : 그리디, 정렬 1461번: 도서관 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin.tie..

PS 2024.04.02

BOJ 30961 : 최솟값, 최댓값

문제 링크 : boj.kr/30961 난이도 : G4 태그 : 정렬, 애드혹, 조합론 30961번: 최솟값, 최댓값 수열의 힘은 수열의 최솟값과 최댓값을 곱한 값이다. 길이가 $N$인 수열 $A$가 주어질 때, 이 수열에서 길이가 $1$ 이상인 모든 부분수열 각각의 힘을 구하여 모두 XOR한 값을 구하여라. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio..

PS 2024.03.20

BOJ 11108 : TV 전쟁

문제 링크 : boj.kr/11108 난이도 : G3 태그 : 정렬, DP 11108번: TV 전쟁 첫 번째 줄에 주어지는 t는 테스트 케이스의 개수이다. 각 테스트 케이스의 첫 줄은 tv프로그램의 개수 n(1 ≤ n ≤ 100000)이 주어진다. 그리고 n줄에 걸쳐서 공백으로 구분된 3개의 정수 s, d, p가 주 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; struct info { int s; int d; ..

PS 2024.03.19

BOJ 31410 : 제독 작전

문제 링크 : boj.kr/31410 난이도 : G3 태그 : 그리디, 정렬 31410번: 제독 작전 부대에 미확인 오염 물질이 발생해 위기에 빠졌다! 오염 물질은 부대 내의 수직선 위의 서로 다른 $N$개의 위치에 발생했으며, 그중 $i$번째 오염 물질의 오염도는 $p_i$이며 $x_i$ 위치에 발생했다. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio..

PS 2024.03.16

BOJ 13884 : 삭삽 정렬

문제 링크 : boj.kr/13884 난이도 : G5 태그 : 정렬, 그리디 13884번: 삭삽 정렬 선종이는 최근에 배열을 정렬하는 새로운 알고리즘을 이길흥 교수님의 강의에서 배웠습니다. 그 알고리즘은 배열의 숫자들을 반복적으로 삭제, 삽입을 수행하여 배열을 정렬합니다. 선종이는 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin.tie(0)..

PS 2024.03.14

BOJ 2036 : 수열의 점수

문제 링크 : boj.kr/2036 난이도 : G4 태그 : 그리디, 정렬 2036번: 수열의 점수 n개의 정수로 이루어진 수열이 있다. 이 수열에서 한 정수를 제거하거나, 또는 두 정수를 제거할 수 있다. 한 정수를 제거하는 경우에는 그 정수가 점수가 되고, 두 정수를 제거하는 경우에는 두 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin...

PS 2024.03.04

BOJ 1253 : 좋다

문제 링크 : boj.kr/1253 난이도 : G4 태그 : 정렬, 이분탐색 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.ti..

PS 2024.03.02

BOJ 29155 : 개발자 지망생 구름이의 취업 뽀개기

문제 링크 : boj.kr/29155 난이도 : S3 태그 : 정렬, 그리디 29155번: 개발자 지망생 구름이의 취업 뽀개기 난이도 $1$에서 $1$분, $4$분, $4$분 순서로, 난이도 $2$에서 $5$분, 난이도 $3$에서 $20$분, 난이도 $4$에서 $40$분, 난이도 $5$에서 $100$분 순서대로 풀면 $1+3+4+0+4+60+5+60+20+60+40+60+100=417$분이 걸린다. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair;..

PS 2024.02.17