본문 바로가기

BOJ

(179)
[BOJ] 20126번 교수님의 기말고사 (C++) https://www.acmicpc.net/problem/20126 20126번: 교수님의 기말고사 교수님이 시험을 시작할 수 있는 시각을 출력하여라. 시작 가능한 시각이 여러 개 있으면 그중 가장 앞선 시각을 출력한다. 시험을 치룰 수 없다면 -1을 출력하여라. www.acmicpc.net #include #include #include using namespace std; int main() { int n, m, s, x, y; vector v; cin >> n >> m >> s; for(int i = 0; i > x >> y; v.push_back({x, y}); } sort(v.begin(), v.end()); // 1. 앞쪽에 시간이 비는 경우 if(v[0].firs..
[BOJ] 24523번 내 뒤에 나와 다른 수 (C++) https://www.acmicpc.net/problem/24523 24523번: 내 뒤에 나와 다른 수 첫째 줄에 수열 $A$의 크기 $N$이 주어진다. 둘째 줄에는 $A_1 \ A_2 \ \cdots \ A_N$이 공백으로 구분되어 주어진다. $(1 \le N \le 10^6$, $-10^9 \le A_i \le 10^9 )$ 입력으로 주어지는 모든 수는 정수이다. www.acmicpc.net #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, num; vector v; stack s; vector res; cin >> n; ..
[BOJ] 2493번 탑 (C++) https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; stack s; int num; for (int i = 0; i > num; while (!s.empty()) { if (s.top()...
[BOJ] 15988번 1, 2, 3 더하기 3 (C++) https://www.acmicpc.net/problem/15988 15988번: 1, 2, 3 더하기 3 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net #include using namespace std; int main() { int n, num; long long dp[1000001] = {0, 1, 2, 4}; for(int i = 4; i > n; for(int i = 0; i > num; cout
[BOJ] 10868번 최솟값 (C++) https://www.acmicpc.net/problem/10868 10868번: 최솟값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100,000)개 주어졌을 때는 www.acmicpc.net #include #include using namespace std; long long arr[100001]; long long *tree; void init(int node, int start, int end) { if (start == end) { tree[node] = arr[start]; return; } init(2 * node, start, (star..
[BOJ] 20115번 에너지 드링크 (C++) https://www.acmicpc.net/problem/20115 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net #include #include #include using namespace std; int main() { int n; double num; vector v; cin >> n; for(int i = 0; i > num; v.push_back(num); } sort(v.begin(), v.end()); double sum = v[n - 1]; for(int i = 0;..
[BOJ] 7983번 내일 할거야 (C++) https://www.acmicpc.net/problem/7983 7983번: 내일 할거야 내일(1일)부터 연속으로 최대 며칠 동안 놀 수 있는지를 출력한다. 가령, 답이 0이면, 내일 과제를 해야 하며, 1 이면, 모레에 과제를 해야 한다. www.acmicpc.net #include #include #include using namespace std; bool compare(pair& a, pair& b){ return a.second > b.second; } int main() { int n, d, t; cin >> n; vector v; for(int i = 0; i > d >> t; v.push_back({d, t}); } sort(v.begin(), v.end(),..
[BOJ] 11505번 구간 곱 구하기 (C++) https://www.acmicpc.net/problem/11505 11505번: 구간 곱 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 곱을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net #include #include #include using namespace std; int N, M, K; long long arr[1000001]; long long *tree; long long init(int node, int start, int end) { if (start == end) { return tree[node] =..