해결방법
자꾸만 에러가 많이 나서 힘든 문제였다.
N과 M과 K를 입력받고, N명이 각각 M회 수를 입력받아서 만약 K값을 넘어가는 순간의 값을 저장해뒀다가 출력한다.
값의 중복 저장을 막기 위해 초기 값을 -1, -1로 하여 만약 -1, -1이 아니라면 더 저장하지 않도록 안전장치를 마련해두었다.
(시간 문제는 아닌것 같은데 왜 실패했는지는 모르겠다.)
정답 코드
#include <iostream>
#include <utility>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cout.tie(NULL);
cin.tie(NULL);
int N, M;
int K;
pair<int, int> ans(-1, -1);
cin >> N >> M >> K;
for (int i = 0; i < N; ++i)
{
int temp = 0;
for (int j = 0; j < M; ++j)
{
int num;
cin >> num;
temp += num;
if (temp >= K)
{
if (j < ans.second || ans.second == -1) ans = make_pair(i, j);
}
}
}
if (ans.first != -1)
{
cout << ans.first + 1 << ' ' << ans.second + 1 << '\n';
}
return 0;
}
'코딩테스트' 카테고리의 다른 글
BOJ - 10812 바구니 순서 바꾸기 (0) | 2024.10.04 |
---|---|
BOJ - 1996 지뢰 찾기 (0) | 2024.10.01 |
BOJ - 1978 소수 찾기 (0) | 2024.09.26 |
BOJ - 2231 분해합 (0) | 2024.09.26 |
BOJ - 25756 방어율 무시 계산하기 (0) | 2024.09.25 |