[백준] #15889 호 안에 수류탄이야!!

kkily·2022년 3월 13일
0

[알고리즘]

목록 보기
77/102

문제 링크

처음에 접근을 잘못해서 완전 헤맸다. 오른쪽 바로 옆에 있는 사람에게만 던져야하는 줄 알았다. 왼쪽에 있는 사람이 오른쪽에 있는 아무나한테만 던지면 되는 문제였다. 이걸 알게 된 후에 어떻게 해야할까 생각이 잘 안나서 ICPC Sinchon 슬랙에 있는 다른 분이 질문하신 내용과 답변을 참고했다. 던져서 오른쪽으로 갈 수 있는 최대위치값을 maxD라는 변수를 이용해 갱신하면 된다. 또 n==1인 경우를 잊지말고 잘 챙겨줘야한다. 이걸 잊어서 두세번은 더 틀렸다.

#include<iostream>
#include<vector>

using namespace std;


int main(){
   long long n,p;
   cin>>n;
   vector<long long> v;
   vector<long long> v1;
    
   for(int i=0;i<n;i++){
       cin>>p;
       v.push_back(p);
   }

   for(int i=0;i<n-1;i++){
       cin>>p;
       v1.push_back(p);
   }
    if(n==1){
        cout<<"권병장님, 중대장님이 찾으십니다";   
        return 0;
    }
   long long maxD=0;

   for(int i=0;i<n-1;i++){
       if(maxD<=v[i]+v1[i]){
           maxD=v[i]+v1[i];
       }
      
       if(maxD<v[i+1]){
           cout<<"엄마 나 전역 늦어질 것 같아";
           return 0;
       }

   }
    cout<<"권병장님, 중대장님이 찾으십니다";    
}
profile
낄리의 개발 블로그╰(*°▽°*)╯

0개의 댓글

관련 채용 정보