본문 바로가기

반응형
SMALL

2014 - 소수의 곱 2014번: 소수의 곱 첫째 줄에 K(1 ≤ K ≤ 100), N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 K개의 소수가 오름차순으로 주어진다. 같은 소수가 여러 번 주어지는 경우는 없으며, 주어지는 소수는 모두 541보다 작거나 www.acmicpc.net #include typedef long long ll; const ll LK = 1e2; const ll LN = 1e5; ll K, N, R; ll arr[LK + 10]; void swap(ll& x, ll& y) {ll z = x; x = y; y = z;} int minComp(ll x, ll y) {return x < y;} struct PQ { ll hn; ll heap[LN * 10 + 10]; int (*comp)(ll,.. 더보기
18110 - solved.ac 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net 개 같은 문제 (내 실력이) #include const int LN = 3 * 1e5 + 10; int N, minus; float R; int ARR[LN]; int minComp(int x, int y) { return x < y; } void swap(int& x, int& y) { int z = x; x = y; y = z; } struct PQ { int hn; int heap[LN]; int (*comp)(int, int);.. 더보기
1715 - 카드 정렬하기 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net #include typedef long long LL; const int LN = 1e5 + 10; int minComp(LL x, LL y) { return x < y; } void swap(LL& x, LL& y) { LL z = x; x = y; y = z; } LL R; int N; int T; struct PQ { int hn; LL heap[LN]; int (*comp)(LL x, LL y); void init() { hn = 0; co.. 더보기
14235 - 크리스마스 선물 14235번: 크리스마스 선물 크리스마스에는 산타가 착한 아이들에게 선물을 나눠준다. 올해도 산타는 선물을 나눠주기 위해 많은 노력을 하고 있는데, 전세계를 돌아댕기며 착한 아이들에게 선물을 나눠줄 것이다. 하지만 www.acmicpc.net #include int N; int A; const int LN = 5e5 + 10; int maxComp(int x, int y) { return x > y; } void swap(int& x, int& y) { int z = x; x = y; y = z; } struct PQ { int hn; int heap[LN]; int (*comp)(int, int); void init() { hn = 0; comp = maxComp; } void push(int x) {.. 더보기
1417 - 국회의원 선거 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 힙 문제 #include int N; int T; int R; int maxComp(int x, int y) { return x > y; } void swap(int& x, int& y) { int z = x; x = y; y = z; } struct PQ { int hn; int heap[100]; int (*comp)(int, int); void init() { hn = 0; comp = maxComp; } void push(int x) { hea.. 더보기
15903 - 카드 합체 놀이 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 최소힙, 타입 조심 #include int N, M; typedef long long LL; const int LN = 1e3 + 10; void swap(LL& x, LL& y) { LL z = x; x = y; y = z; } int minComp(LL x, LL y) { return x < y; } struct PQ { int hn; LL heap[LN]; int (*comp)(LL, LL); void init() { h.. 더보기
11931 - 수 정렬하기 4 11931번: 수 정렬하기 4 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 힙 정렬이 짜기도 쉽고, 이해도 쉽다 메모리도 좋고 이거 계속 쓰쟈 #include const int LM = 1e6; int maxComp(int x, int y) { return x > y; } int minComp(int x, int y) { return x < y; } int N; void swap(int& x, int& y) { int z = x; x = y; y = z; } struct PQ { int hn; int heap[LM + 1.. 더보기
10867 - 중복 빼고 정렬하기 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net 힙 정렬 짜고 중복 체크하면 끝 #include const int LM = 1e5; int N; int R[LM]; int r; void swap(int& x, int & y) { int z = x; x = y; y = z; } int maxComp(int x, int y) { return x > y; } int minComp(int x, int y) { return x < y; } struct PQ { int hn; int heap[LM + 10]; int (*comp)(int, int); .. 더보기

반응형
LIST