สามเหลี่ยมใหญ่ (bigtriangle)

Author: Pakin Olanraktham


เฉลย
#include <stdio.h>
#include <stdlib.h>

int main() {
    int n;
    scanf("%d", &n);

    int a[n][2]={};

    for (int i = 0; i < n; i++) scanf("%d %d", &a[i][0], &a[i][1]);

    float ans = 0;

    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            for (int k = j + 1; k < n; k++) {
                float r = (float) abs(a[i][0]*a[j][1] + a[j][0]*a[k][1] + a[k][0]*a[i][1] - a[i][1]*a[j][0] - a[j][1]*a[k][0] - a[k][1]*a[i][0]) / 2;

                if (r > ans) ans = r;
            }
        }
    }

    printf("%.3f", ans);
}
#include <iostream>
#include <cmath>

using namespace std;

int main() {
    int n;
    cin >> n;

    pair <int, int> a[n];

    for (int i = 0; i < n; i++) cin >> a[i].first >> a[i].second;

    float ans = 0;

    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            for (int k = j + 1; k < n; k++) {
                float r = (float) abs(a[i].first*a[j].second + a[j].first*a[k].second + a[k].first*a[i].second - a[i].second*a[j].first - a[j].second*a[k].first - a[k].second*a[i].first) / 2;

                if (r > ans) ans = r;
            }
        }
    }

    printf("%.3f", ans);
}