답안 #792031

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
792031 2023-07-24T14:03:14 Z vjudge1 Meandian (CEOI06_meandian) C++14
100 / 100
10 ms 208 KB
#include <bits/stdc++.h>
#include "libmean.h"

using namespace std;

const int N = 103;
int ans[N], ans2[N];
int n;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    n = Init();
    for (int i = 1; i <= (n-4); i++){
        int tmp = 0, mx = 0, mn = INT_MAX;
        int last = 0;
        vector <int> take;
        take.push_back(0);
        while(take.size() < 6){
            if (last == n){
                break;
            }
            for (int i = last+1; i <= n; i++){
                if (ans[i] == 0){
                    take.push_back(i);
                    last = i;
                    break;
                }
            }
        }
        for (int j = 1; j <= 5; j++){
            int q[5], ptr = 0;
            for (int k = 1; k <= 5; k++){
                if (k == j){
                    continue;
                }
                ptr++;
                q[ptr] = take[k];
            }
            int w = Meandian(q[1], q[2], q[3], q[4]);
            tmp += w;
            mx = max(mx, w);
            mn = min(mn, w);
        }
        tmp -= (mx+mn);
        int f = tmp - (mx*2), t = tmp - (mn*2), s = tmp - f - t;
        for (int j = 1; j <= 5; j++){
            int q[5], ptr = 0;
            for (int k = 1; k <= 5; k++){
                if (k == j){
                    continue;
                }
                ptr++;
                q[ptr] = take[k];
            }
            int w = Meandian(q[1], q[2], q[3], q[4]);
            if (w != mx && w != mn){
                ans[take[j]] = s;
            }
        }
    }
    for (int i = 1; i <= n; i++){
        if (ans[i] == 0){
            ans[i] = -1;
        }
        ans2[i-1] = ans[i];
    }
    Solution(ans2);
}

# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Correct 2 ms 208 KB Output is correct
5 Correct 2 ms 208 KB Output is correct
6 Correct 3 ms 208 KB Output is correct
7 Correct 4 ms 208 KB Output is correct
8 Correct 6 ms 208 KB Output is correct
9 Correct 10 ms 208 KB Output is correct
10 Correct 9 ms 208 KB Output is correct