PS 138

백준 1049 기타줄(c++)

https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net #include #include #include #include using namespace std; bool cmp(pairp1,pairp2) { return p1.firstn>>m; vectorv; for(int i=0;i>p>>a; v.push_back(make_pair(p,a)); } int ans1 = 0; int ans2 = 0; int cnt=0; // 끊어진 기타줄 수가 6개보다..

1049 기타줄(c++)

https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net #include #include #include #include using namespace std; bool cmp(pairp1,pairp2) { return p1.firstn>>m; vectorv; for(int i=0;i>p>>a; v.push_back(make_pair(p,a)); } int ans1 = 0; int ans2 = 0; int cnt=0; // 끊어진 기타줄 수가 6개보다..

1202 보석 도둑(c++)

https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net #include #include #include #include #include using namespace std; int main() { int n,k; cin>>n>>k; vectorv; vectorc; priority_queuepq; for(int i=0;i>a>>b; v.push_back(make_pair(a,b)); } sor..

백준 19598 최소 회의실(c++)

https://www.acmicpc.net/problem/19598 19598번: 최소 회의실 개수 2개 회의실로 3개 회의를 모두 진행할 수 있다. 예를 들어, 첫번째 회의실에서 첫번째 회의를 진행하고 두번째 회의실에서 두번째 회의와 세번째 회의를 진행하면 된다. 1개 회의실로 3개 회의 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { int n; cin>>n; priority_queuepq; priority_queueresult; for(int i=0;i>s>>e; pq.push(make_pair(s,e)); } result.push(pq.top().second); pq.pop()..

백준 13975 파일 합치기 3(c++)

https://www.acmicpc.net/problem/13975 13975번: 파일 합치기 3 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데, www.acmicpc.net #include #include #include #include using namespace std; int main() { priority_queuepq; int t; cin>>t; int n; while(t--) { long long sum =0; cin>>n; for(int i=0;i>a; pq.push(a); } while(pq.size()>1) { long long n1 = pq.to..

백준 2805 나무 자르기(c++)

https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n,m; cin>>n>>m; vectortree; for(int i=0;i>a; tree.push_back(a); } int l = 0; int r = *max_element(tree.begin(),tree.end()); int..

백준 2776 암기왕(c++)

https://www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net #include #include #include using namespace std; int main() { vectorv1; vectorv2; int t; cin>>t; while(t--) { int n; cin>>n; for(int i=0;i>a; v1.push_back(a); } int m; cin>>m; for(int i=0;i>b; v2.push_back(b); } sort(v1.begin()..

백준 1015 수열 정렬(c++)

https://www.acmicpc.net/problem/1015 1015번: 수열 정렬 P[0], P[1], ...., P[N-1]은 0부터 N-1까지(포함)의 수를 한 번씩 포함하고 있는 수열이다. 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 된다. 적용하는 방법은 B[P[i]] = A[i]이다. 배열 A가 주 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { int n; cin>>n; vectorv; for(int i=0;i>a; v.push_back(make_pair(a,0)); } for(int i=0;ii && v[j].first==v[i].first) ..

백준 4889 안정적인 문자열(c++)

https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { string s; stackst; int start=1; while(cin>>s) { int cnt=0; if(s[0]=='-') break; for(int i=0;i