Pagini recente » Cod sursa (job #2872741) | Cod sursa (job #39245) | Cod sursa (job #2731059) | Cod sursa (job #3276928) | Cod sursa (job #3155580)
#include <fstream>
using namespace std;
using point = pair<int, int>;
using ld = long double;
ifstream f("aria.in");
ofstream g("aria.out");
static constexpr int NMAX = (int)(1e5 + 1);
int n;
point v[NMAX];
static inline void read()
{
f.tie(nullptr);
f >> n;
for (int i = 1; i <= n; ++i)
f >> v[i].first >> v[i].second;
return;
}
static inline ld det2(const point &a, const point &b)
{
return ((a.first * b.second) - (a.second * b.first));
}
int main()
{
read();
v[(n + 1)] = v[1];
ld ans = 0;
for (int i = 1; i <= n; ++i)
ans += det2(v[i], v[i + 1]);
if (ans < (ld)0.0)
ans = -ans;
ans *= (ld)(0.5);
g << setprecision(6) << fixed << ans << '\n';
return 0;
}