본문 바로가기

codeforce/#616 (Div.2)

(2)
Codeforces Round #616 (Div. 2) B. Array Sharpening 입력받는 n개의 수들이 k번째까지 증가하고, k부터 n번째까지 감소하는 수열이라면 해당 배열을 sharpened 라고 한다. 여기서 각수들을 1만큼 무한정 뺄 수 있다. 나는 이 수열을 뺄 수 있을 만큼 다 빼보았을 때 어떤 형태가 되는지 생각해보았다. 간단하게 n이 4와 5일 때를 생각해보았다. 1)n = 4 인경우 0 1 2 0 또는 0 2 1 0 이 된다. 2)n = 5 인경우 0 1 2 1 0 의 경우가 최소가 된다. 위 경우로 미루어보아 홀수의 경우 중앙이 최대값이고, 짝수의 경우는 정확한 중앙이 없으므로 최대값의 위치가 2가지로 나타난다. 이를 정리해 코드로 작성하면 된다. #include #include using namespace std; int main(){ int t,n; cin >> ..
Codeforces Round #616 (Div. 2) A. Even But Not Even 각 자리수의 합이 짝수인 수를 ebne(even but not even) 이라고 합니다. 주어진 인풋에서 특정 자리수를 제거하여 ebne을 만들 수 있으면, 그렇게 만든 수를 출력하고, 없으면 -1을 출력하는 문제입니다. 홀수 2개만 있으면 ebne을 만들 수 있으므로, input string에 대해서 0번째 위치부터 linear search를 하며 홀수 2개를 찾으면 그 2개를 붙여서 return 하고, 못찾으면 -1을 return하는 코드를 작성하면 됩니다. #include #include using namespace std; int main(){ int t, n; string s; cin >> t; for (int i = 0; i > n; cin >> s; string..