본문 바로가기

백준

(497)
[백준 3273번] 두 수의 합 문제의 합 : https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i > n; for(int i=0; i> num; arr.push_back(num); } cin >> x; sort(arr.begin(), arr.end()); int l=..
[백준 7511번] 소셜 네트워킹 어플리케이션 (C++) 문제링크 : https://www.acmicpc.net/problem/7511 7511번: 소셜 네트워킹 어플리케이션 각 테스트 케이스마다 "Scenario i:"를 출력한다. i는 테스트 케이스 번호이며, 1부터 시작한다. 그 다음, 각각의 쌍마다 두 사람을 연결하는 경로가 있으면 1, 없으면 0을 출력한다. 각 테스트 케이스 www.acmicpc.net #include using namespace std; int parent[100001]; int find_root(int x) { if(x == parent[x]) return x; //루트노드면 그대로 반환 return find_root(parent[x]); //자식노드면 부모노드로 다시 탐색 } void Union(int a, int b) { a ..
[백준 11332번] 시간초과 (C++) 문제링크 : https://www.acmicpc.net/problem/11332 11332번: 시간초과 각 테스트 케이스들에 대하여 시간 초과가 나면 "TLE!", 시간 초과가 나지 않으면 "May Pass." 를 출력한다. www.acmicpc.net #include using namespace std; #define LL long long #define MAX 100000000 int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int C; LL N, T, L; string S; cin >> C; while(C--) { cin >> S >> N >> T >> L; if(S == "O(N)") { if(N*T
[백준 13397번] 구간 나누기 2 (C++) 문제링크 : https://www.acmicpc.net/problem/13397 13397번: 구간 나누기 2 첫째 줄에 배열의 크기 N과 M이 주어진다. (1 ≤ N ≤ 5,000, 1 ≤ M ≤ N) 둘째 줄에 배열에 들어있는 수가 순서대로 주어진다. 배열에 들어있는 수는 1보다 크거나 같고, 10,000보다 작거나 같은 자연수 www.acmicpc.net #include using namespace std; #define fastio ios_base::sync_with_stdio(0); cin.tie(0); int n, m; int cal(int mid, int arr[]) //해당 mid 값 갯수 계산 { int cnt = 1, minV = arr[0], maxV = arr[0]; for (int..
[백준 16401번] 과자 나눠주기 (C++) 문제링크 : https://www.acmicpc.net/problem/16401 16401번: 과자 나눠주기 첫째 줄에 조카의 수 M (1 ≤ M ≤ 1,000,000), 과자의 수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 과자 N개의 길이 L1, L2, ..., LN이 공백으로 구분되어 주어진다. 과자의 길이는 (1 ≤ L1, L2, ..., LN ≤ 1, www.acmicpc.net #include using namespace std; #define fastio ios_base::sync_with_stdio(0); cin.tie(0); int M, N, L, result; vector v; void binary_search(int l, int h) { while (l = M) {..
[백준 21314번] 민겸 수 (C++) 문제링크 : https://www.acmicpc.net/problem/21314 21314번: 민겸 수 민겸 수 하나가 주어진다. 민겸 수는 대문자 M과 K로만 이루어진 문자열이며, 길이는 3,000을 넘지 않는다. www.acmicpc.net #include using namespace std; #define fastio ios_base::sync_with_stdio(0); cin.tie(0); string s; string s_min = ""; string s_max = ""; int cnt = 0; int main() { fastio; cin >> s; for (int i = 0; i < s.length(); i++) { if (s[i] == 'M') { cnt++; if (cnt == 1) //M..
[백준 17204번] 죽음의 게임 (C++) 문제링크 : https://www.acmicpc.net/problem/17204 17204번: 죽음의 게임 중앙대학교 소프트웨어대학 새내기들을 맞이하게 된 17학번 김영기는 두 학번이라는 차이를 극복하기 위해 새내기들과 친해지려고 노력하고 있다. 그 노력 중 하나는 바로 새내기들과의 술자 www.acmicpc.net #include using namespace std; #define fastio ios_base::sync_with_stdio(0); cin.tie(0); int n, k, num, cnt = 0; int arr[150]; vectorcheck; int main() { fastio; cin >> n >> k; for (int i = 0; i > arr[i]; }..
[백준 14465번] 소가 길을 건너간 이유 5 (C++) 문제링크 : https://www.acmicpc.net/problem/14465 14465번: 소가 길을 건너간 이유 5 첫 줄에 N, K, B (1 ≤ B,K ≤ N)가 주어진다. 그 다음 B줄에는 고장난 신호등의 번호가 하나씩 주어진다. www.acmicpc.net #include using namespace std; #define fastio ios_base::sync_with_stdio(0); cin.tie(0); int n, k, b, cnt, result = 987654321; int arr[100001]; bool check[100001]; int main() { fastio; cin >> n >> k >> b; for (int i = 0; i > arr[i];..