본문 바로가기

GREEDY

(15)
[BOJ] 1781번 컵라면 (C++) https://www.acmicpc.net/problem/1781 1781번: 컵라면 상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라 www.acmicpc.net #include #include using namespace std; struct cmp{ bool operator()(pair&a, pair&b){ if(a.first == b.first){ return a.second b.first; } } }; int main() { ios::sync_with_stdio(false); cin.tie(N..
[BOJ] 2109번 순회강연 (C++) https://www.acmicpc.net/problem/2109 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net #include #include #include using namespace std; int main() { int n; cin >> n; vector v; int day[10001] = {0, }; int maxday = 0; for(int i = 0; i > p >> d; if(d > maxday) maxday ..
[BOJ] 13904번 과제 (C++) https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net #include #include #include using namespace std; int main() { int n; cin >> n; vector v; int arr[1001] = {0, }; for(int i = 0; i > d >> w; v.push_back({w, d}); } sort(v.begin(), v.end(), greater()); int sum = 0; for(int i =..
[BOJ] 1374번 강의실 (C++) https://www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n; vector v; priority_queue pq; cin >> n; for(int i = 0; i > a >> b >> c; v.push_back({b, c}); } sort(v.begin(),..
[BOJ] 23843번 콘센트 (C++) https://www.acmicpc.net/problem/23843 23843번: 콘센트 광재는 전자기기 대여사업을 시작했다. 퇴근하기 전에 다음날 손님들에게 빌려줄 N개의 전자기기를 충전하려 한다. 사용 가능한 콘센트는 M개가 있고, 성능은 모두 동일하다. 전자기기들은 한 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n, m; cin >> n >> m; vector time(n); for(int i = 0; i > time[i]; } sort(time.begin(), time.end(), greater()); if(m > n){ // 예외처리 cout
[BOJ] 20300번 서강근육맨 (C++) https://www.acmicpc.net/problem/20300 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net #include #include #include using namespace std; int main() { int n; long long t; cin >> n; vector v; for(int i = 0; i > t; v.push_back(t); } sort(v.begin(), v.end()); long long max = 0; if(n % 2 == 0){ for(int i = 0; i..
[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(),..