세 개의 숫자 b와 c가 있다고 가정합니다. 가수는 'a' 1분 노래, 'b' tow-minutessong 및 'c' 3분 노래가 있습니다. 그는 모든 노래가 정확히 하나의 콘서트에 포함되도록 모든 노래를 두 개의 콘서트에 배포하려고 합니다. 그는 콘서트 기간의 절대적 차이를 가능한 한 작게 만들고 싶어합니다. 콘서트 기간은 해당 콘서트의 모든 노래 길이를 합한 것입니다. 콘서트 기간 사이에 가능한 최소한의 차이를 찾아야 합니다.
따라서 입력이 =2와 같으면; b =1; c =3이면 첫 번째 콘서트에 1분짜리 노래 2개와 2분짜리 노래 1개와 3분짜리 노래 1개, 두 번째 콘서트에 3분짜리 노래 2개를 포함할 수 있기 때문에 출력은 1이 됩니다. 첫 번째 콘서트 시간은 1 + 1 + 2 + 3=7이고 두 번째 콘서트 시간은 6입니다. 그 차이는 |7 − 6| =1.
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
return (a + (1 if c is odd, otherwise 0))
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include<bits/stdc++.h> using namespace std; int solve(int a, int b, int c){ return (a+c&1); } int main(){ int a = 2; int b = 1; int c = 3; cout << solve(a, b, c) << endl; }
입력
2, 1, 3
출력
1