Cod sursa(job #2253082)
Utilizator | Dandelion paul_danut | Data | 3 octombrie 2018 16:57:40 |
---|---|---|---|
Problema | Aria | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
#include <iomanip>
#include <iostream>
using namespace std;
int main()
{
int n;
double x[100002];
double y[100002];
ifstream f("aria.in");
ofstream g("aria.out");
f >> n;
for(auto i=0; i<n; ++i)
{
f >> x[i] >> y[i];
}
long double s = 0;
for(auto i=1; i<n-1; ++i)
{
auto d = x[0] * y[i] + y[0] * x[i+1] + x[i] * y[i+1] -
x[i+1] * y[i] - x[0] * y[i+1] - x[i] * y[0];
s += d > 0 ? d : -d;
}
s = s / 2;
g << std::fixed << std::setprecision(5) << s;
return 0;
}