Загрузка данных


#ifndef DECISION_H
#define DECISION_H

#define GOLDEN_RATIO 0.618

int make_decision(double *data, int n);

#endif


#include "decision.h"

#include <math.h>

#include "../data_libs/data_stat.h"

int make_decision(double *data, int n) {
    int decision = 1;
    double m = mean(data, n);
    double sigma = sqrt(variance(data, n));
    double max_value = max(data, n);
    double min_value = min(data, n);

    decision = max_value <= m + 3 * sigma && min_value >= m - 3 * sigma && m >= GOLDEN_RATIO;

    return decision;
}


#include <stdio.h>
#include <stdlib.h>

#include "../data_libs/data_io.h"
#include "decision.h"

int main(void) {
    double *data = NULL;
    int n;

    if (scanf("%d", &n) != 1 || n <= 0) {
        printf("NO");
        return 1;
    }

    data = malloc(n * sizeof(double));

    if (data == NULL) {
        printf("NO");
        return 1;
    }

    input(data, n);

    if (make_decision(data, n)) {
        printf("YES");
    } else {
        printf("NO");
    }

    free(data);

    return 0;
}