Cod sursa(job #3226064)

Utilizator rapidu36Victor Manz rapidu36 Data 19 aprilie 2024 20:46:40
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <vector>
#include <iomanip>

using namespace std;

long double aria_trapez(pair <double, double> p1, pair <double, double> p2)
{
    return (p1.first - p2.first) * (p1.second + p2.second);
}

int main()
{
    ifstream in("aria.in");
    ofstream out("aria.out");
    int n;
    in >> n;
    vector < pair <double, double>> p(n);
    for (int i = 0; i < n; i++)
    {
        in >> p[i].first >> p[i].second;
    }
    long double aria = aria_trapez(p[n-1], p[0]);
    for (int i = 0; i < n - 1; i++)
    {
        aria += aria_trapez(p[i], p[i+1]);
    }
    out << setprecision(6) << fixed << aria / 2 << "\n";
    in.close();
    out.close();
    return 0;
}