문제 링크입니다: https://www.acmicpc.net/problem/2010
기존에 사용 가능한 플러그 중 하나는 다음 멀티탭을 꽂을 때 사용된다는 것을 인지하고 있다면 쉽게 풀 수 있는 문제였습니다.
#include <iostream>
using namespace std;
const int MAX = 500000;
int N;
int multitap[MAX];
int maxComputer(void)
{
int result = multitap[0]; //첫 멀티탭은 다른 멀티탭이 안 꽂아져있으므로 모든 플러그 사용 가능
for (int i = 1; i < N; i++)
{
result -= 1; //기존 멀티탭 플러그 중 하나에 다음 멀티탭을 꽂아야하므로
result += multitap[i]; //다음 멀티탭 플러그 수만큼 꽂을 수 있다
}
return result;
}
int main(void)
{
cin >> N;
for (int i = 0; i < N; i++)
cin >> multitap[i];
cout << maxComputer() << endl;
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
백준 1476번 날짜 계산 (0) | 2018.05.06 |
---|---|
백준 1038번 감소하는 수 (2) | 2018.05.05 |
백준 1094번 막대기 (0) | 2018.05.05 |
백준 1475번 방 번호 (0) | 2018.05.05 |
백준 1037번 약수 (2) | 2018.05.04 |