Cod sursa(job #3148026)

Utilizator andiRTanasescu Andrei-Rares andiR Data 28 august 2023 23:27:39
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>

using namespace std;
typedef long long ll;
ifstream fin ("aria.in");
ofstream fout ("aria.out");

ll n;
pair<long double, long double> v[100005];
ll dist(ll X1, ll Y1, ll X2, ll Y2){
    return (X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1);
}
long double D(long double X1, long double Y1, long double X2, long double Y2, long double X3, long double Y3){
    return (X2-X1)*(Y3-Y1)-(X3-X1)*(Y2-Y1);
}
int main()
{
    cin>>n;
    for (int i=0; i<n; i++)
        cin>>v[i].first>>v[i].second;
    v[n]=v[0];
    long double sol=0;
    for (int i=0; i<n; i++)
        sol+=D(v[0].first, v[0].second, v[i].first, v[i].second, v[i+1].first, v[i+1].second);
    sol=abs(sol);
    cout<<fixed<<setprecision(6)<<sol/2;
    return 0;
}