Algorithm/백준
C++ 알고리즘 - 백준 1789 수들의 합
마루설아
2025. 1. 20. 18:35
https://www.acmicpc.net/problem/1789
#include <bits/stdc++.h>
#define endl "\n"
using namespace std;
/******** 함 수 ********/
int main(void) {
/******** C++ INIT ********/
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
/******** 변 수 ********/
long long input;
long long sum = 0;
long long chk;
vector<long long> v;
/******** 구 현 ********/
v.push_back(0);
cin >> input;
// 1부터 시작 : 모두 합한 수가 입력된 수보다 작으면 벡터에 삽입
for (long long i = 1; sum < input; i++) {
v.push_back(i);
sum += i;
}
// 합한 수가 커졌으면 입력된 수와 차를 구함
chk = sum - input;
// 차가 없으면
if (chk == 0) {
cout << v.size() - 1;
return 0;
}
// 차가 있을 시 차이나는 만큼의 수를 벡터에서 제거
v.erase(v.begin() + chk);
cout << v.size() - 1;
}