Written on
·
216
0
이렇게 코드를 작성하였는데 처리되지 않은 예외가 뜹니다.
일일이 메모장에 입력을 가져다가 출력해봤는데 정답이 뜹니다. 그래도 뭔가 찝찝해서 무언가 실수가 있는지 확인해주시면 감사하겠습니다 ㅠ(이때까지 이런오류는 없었습니다)
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(void)
{
int N, K, cnt = 0, work = 0, i;
cin >> N;
vector<int> v(N + 1);
for (i = 1; i <= N; ++i) {
cin >> v[i];
work += v[i];
}
i = 1;
cin >> K;
while (true)
{
if (work == 0) {
cout << -1;
return 0;
}
if (cnt == K) break;
else ++i;
if (i > N) i = 1;
if (v[i] == 0 && work != 0)
{
while (v[i] == 0) {
if (i > N) i = 1;
else ++i;
}
}
--work;
--v[i];
++cnt;
}
cout << i;
return 0;
}