250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(SWEA c++)1859. 백만 장자 프로젝트 본문
728x90
반응형
while문
벡터로 입력받은 숫자 중에서 가장 큰 값을 max_element 함수를 이용해 찾아낸다.
그리고 v.begin()부터 max가 위치한 곳까지 값을 더해주도록 한다.
v.erase를 이용하여 v.begin()부터 max + 1까지 지워내면 max가 위치한 곳까지 지우게 된다.
벡터에서 모든 값이 지워지면 가장 큰 이익을 볼 수 있는 수를 구할 수 있다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
int t;
cin >> t;
for(int i = 1; i <= t; i++)
{
int n, num, start = 0;
long long sum = 0;
vector<int> v;
cin >> n;
for(int j = 0; j < n; j++)
{
cin >> num;
v.push_back(num);
}
while(!v.empty())
{
auto max = max_element(v.begin(), v.end());
for(auto itr = v.begin(); itr != max; itr++)
sum += *max - *itr;
v.erase(v.begin(), max + 1);
}
cout << "#" << i << " " << sum << endl;
}
return 0;
}
728x90
반응형
'SW Expert Academy' 카테고리의 다른 글
(SWEA c++)5607. [Professional] 조합 (0) | 2020.10.05 |
---|---|
(SWEA c++)2001. 파리 퇴치 (0) | 2020.09.28 |
(SWEA c++)2005. 파스칼의 삼각형 (0) | 2020.09.28 |
(SWEA c++)2007. 패턴 마디의 길이 (0) | 2020.09.28 |
(SWEA c++)1926. 간단한 369게임 (0) | 2020.09.28 |