Cod sursa(job #2199741)
Utilizator | Data | 28 aprilie 2018 21:44:24 | |
---|---|---|---|
Problema | Aria | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
#include <cmath>
#include <iomanip>
using namespace std;
ifstream in("aria.in");
ofstream out("aria.out");
const int maxN = 100001;
struct punct {
double x, y;
};
punct v[maxN];
int main()
{
int n;
long double s = 0;
in >> n;
for(int i = 1; i <= n; i++)
in >> v[i].x >> v[i].y;
v[0].x = v[n].x, v[0].y = v[n].y;
for(int i = 1; i <= n; i++)
s += (v[i-1].x * v[i].y - v[i+1].x * v[i-1].y);
out << fixed << setprecision(5) << s/2;
return 0;
}