아직은 정체성이 없는 블로그

[SWEA][D3][c++] 10200. 구독자 전쟁 본문

알고리즘 역량테스트 문제/SWEA

[SWEA][D3][c++] 10200. 구독자 전쟁

coooding 2020. 7. 14. 13:51

문제

10200. 구독자 전쟁

 

문제 링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXMCXV_qVgkDFAWv#none

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

풀이과정

a 채널을 구독한 사람과 b 채널 구독한 사람의 합이 조사한 N명의 값보다 적거나 같을 때와

N명보다 더 많을 때를 구분하여 문제를 풀었습니다.

 

a 채널을 구독한 사람과 b 채널 구독한 사람의 합이 조사한 N명의 값보다 적거나 같을 때 두 채널을 모두 구독한 사람의 최솟값은 0입니다.  최대 값은 두 채널 중 구독이 적은 채널의 값입니다.

 

a 채널을 구독한 사람과 b 채널 구독한 사람의 합이 조사한 N명의 값보다 클 때 최댓값은 두 채널 중 구독이 적은 채널의 값입니다. 최솟값은 a와 b 채널 구독자를 합친 값에서 N명을 뺀 값입니다.

 

*2020-07-14 기준 SWEA에서 해당 문제에 오류가 있는지 마지막 테스트 케이스가 정상출력이 되지 않지만 제출하시면 정답 처리될 겁니다. 

 

코드

#include<iostream>
using namespace std;

int main(int argc, char** argv)
{
	int test_case;
	int T,n,a,b;
    int minN,maxN;
	cin>>T;

	for(test_case = 1; test_case <= T; ++test_case)
	{

        scanf("%d %d %d",&n,&a,&b);
        
        if(a+b<=n){
            minN=0;
            maxN=min(a,b);
        }
        else{
                maxN=min(a,b);
                minN=a+b-n;
        }
        cout<<"#"<<test_case<<" "<<maxN<<" "<<minN<<"\n";
       
	}
	return 0;
}

 

 

Comments