정렬 39

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

BOJ 20044 : Project Teams

문제 링크 : boj.kr/20044 난이도 : S4 태그 : 정렬, 그리디 20044번: Project Teams 입력은 표준입력을 사용한다. 입력의 첫 번째 행에는 팀 수를 나타내는 양의 정수 n(1 ≤ n ≤ 5,000)이 주어진다. 그 다음 행에 학생 si 의 코딩 역량 w(si)를 나타내는 2n개의 양의 정수가 공백으로 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::syn..

PS 2024.02.11