https://www.acmicpc.net/problem/17251

 

17251번: 힘 겨루기

과거 격투가로 명성을 떨치던 힘스트롱씨는 "힘 겨루기"라는 대회를 주최하여 전국에 홍보를 하였다. 모집 공고를 보고 전국 각지에서 많은 사람들이 모였는 데, 모집 공고에 '힘'이란 것에 대해

www.acmicpc.net

서론

골랜디한답시고 비장하게 랜덤돌렸는데 골드5 나옴. 잘먹겠습니다.

풀이

가장 힘 쎈 애가 있는 구간을 파악한다. 각각 s1, s2라고 정하면 3개의 구간이 만들어지며 승패는 다음과 같다.

  1. 1 ~ s-1 구간
    청팀 승 
  2. s1 ~ s2-1 구간
    무승부
  3. s2 ~ n 구간 
    홍팀 승

따라서 승률은 1번 구간과 2번 구간 수의 비일 것이다. 

각 구간의 개수를 구해 답을 출력하면 된다.

코드

더보기
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
    int n; cin >> n;
    int mx = -1; int mi = -1; int mi2 = 2100000000;
    for (int i = 1; i <= n; i++) {
        int t; cin >> t;
        if (mx < t) {
            mx = t;            
            mi = i; mi2 = i;
        }
        if (mx == t) {
            mi2 = i;
        }
    }
    cout << (mi - 1 == n - mi2 ? "X" : mi - 1 > n - mi2 ? "B" : "R");
    return 0;
}