Cod sursa(job #3166426)

Utilizator not_anduAndu Scheusan not_andu Data 8 noiembrie 2023 19:00:25
Problema Aria Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.09 kb
/**
 * Author: Andu Scheusan (not_andu)
 * Created: 08.11.2023 18:52:48
*/

#include <bits/stdc++.h>
#pragma GCC optimize("O3")

using namespace std;

#define INFILE "aria.in"
#define OUTFILE "aria.out"

#define all(x) (x).begin(), (x).end()
#define MP make_pair
#define F first
#define S second

typedef long long ll;

const int VMAX = 100005;

double produsPuncte(pair<double, double> a, pair<double, double> b){
    return (a.first * b.second - b.first * a.second);
}

void solve(){

    int n; cin >> n;
    pair<double, double> v[VMAX];    

    for(int i = 1; i <= n; ++i){
        cin >> v[i].first >> v[i].second;
    }

    v[n + 1].first = v[1].first, v[n + 1].second = v[1].second;

    double ans = 0;

    for(int i = 1; i <= n + 1; ++i){
        ans += produsPuncte(v[i], v[i + 1]);
    }

    ans /= 2;

    if(ans < 0){
        ans = -ans;
    }

    cout << fixed << setprecision(5) << ans << '\n';

}

int main(){
    
    ios_base::sync_with_stdio(false);

    freopen(INFILE, "r", stdin);
    freopen(OUTFILE, "w", stdout);

    cin.tie(nullptr);
    cout.tie(nullptr);

    solve();

    return 0;
}