PS/BOJ
[백준] 1246. 온라인 판매(c++)
backend 개발자 지망생
2024. 12. 24. 10:59
https://www.acmicpc.net/problem/1246
1. 내림차순 정렬
2. max(ans, p(i) * (i+1))
이 조건만 생각하다가
달걀 개수가 고객의 수보다 넘는 경우를 분기에 안 넣어줬고,
i+1은 해줬는데 조건문에는 i>n이라고 해서 틀렸다.
문제를 읽고 말 그대로 수행하는 것은 정말 중요하다는 생각이 든다.
#include<iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <limits.h>
#include <queue>
#include <set>
#include <math.h>
#include <stack>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n, m;
cin >> n >> m;
vector<int> arr;
int temp, ans = 0, ans_value = 0;
for (int i = 0; i < m; i++) {
cin >> temp;
arr.push_back(temp);
}
// 내림차 순
sort(arr.rbegin(), arr.rend());
for (int i = 0; i < m; i++) {
if (i >= n)
break;
if (ans < arr[i] * (i + 1)) {
ans = arr[i] * (i + 1);
ans_value = arr[i];
}
}
cout << ans_value << ' ' << ans;
return 0;
}