Cod sursa(job #2253038)
Utilizator | Dandelion paul_danut | Data | 3 octombrie 2018 16:24:22 |
---|---|---|---|
Problema | Aria | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
#include <iomanip>
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=0; i<n-1; ++i)
{
auto d = x[i] * y[i+1] + y[i] * x[i+2] + x[i+1] * y[i+2] -
x[i+2] * y[i+1] - x[i] * y[i+2] - x[i+1] * y[i];
s += d > 0 ? d : -d;
}
s = s / 2;
g << std::setprecision(6) << s;
return 0;
}