문제 : https://www.acmicpc.net/problem/18311
[ 알고리즘풀이 ]
1. 우리가 가야하는 길이 K에다가 코스별로 길이를 빼가며 체크하면 된다.
#include<iostream>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int N, n[100000] = {};
long long K;
cin >> N >> K;
for (int i = 0; i < N; i++)
cin >> n[i];
bool check = false;
//갔다가
for (int i = 0; i < N; i++) {
K -= n[i];
if (K < 0){
cout << i + 1;
check = true;
break;
}
}
//왔다가
if(!check){
for (int i = N - 1; i >= 0; i--) {
K -= n[i];
if (K < 0){
cout << i + 1;
break;
}
}
}
}
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ] 1024 : 수열의 합 - travelbeeee (0) | 2020.02.03 |
---|---|
[BOJ] 14863 : 서울에서 경산까지 -travelbeeee (0) | 2020.01.31 |
[BOJ] 18353 : 병사 배치하기 - travelbeeee (0) | 2020.01.30 |
[BOJ] 2630 : 색종이 만들기 - travelbeeee (0) | 2020.01.29 |
[BOJ] 17198 : Bucket Brigade - travelbeeee (0) | 2020.01.29 |