해결된 질문
작성
·
43
0
안녕하세요 선생님 🙂
별거 아닌 문제지만 조금 더 늘여서 한번 풀어봤는데요, 출력값도 맞고 디버깅을 해봐도 문제가 없는데 이 풀이가 왜 틀렸다고 하는지 잘 모르겠습니다. 한번 봐주시면 감사하겠습니다 :)
답변 1
0
안녕하세요 유태님 ㅎㅎ
정말 잘 짜셨네요. ㅎㅎ 다면 result부분에서 실수가 있으신것 같습니다.
해당 코드 참고해주세요. ㅎㅎ 다듬어봤습니다.
#include <bits/stdc++.h>
using namespace std;
int N;
int first, second;
int result = 0;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> N;
vector<pair<int, int>> vec(N);
for (int i = 0; i < N; i++)
{
cin >> vec[i].first >> vec[i].second;
}
sort(vec.begin(), vec.end());
first = vec[0].first;
second = vec[0].second;
result = first + second;
for (int i = 1; i < N; i++)
{
if (first + second > vec[i].first)
vec[i].first = first + second;
first = vec[i].first;
second = vec[i].second;
result = max(result, first + second);
}
cout << result << '\n';
return 0;
}
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.