Submission details
Task:Polygon area
Sender:hundlij1
Submission time:2025-11-10 16:33:39 +0200
Language:C++ (C++17)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails

Code

#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")

#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <queue>
#include <climits>
//#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

void task1(){
    ll n;
    cin >> n;

    ll a,b;
    vector<pair<ll,ll>> arr(n + 1);
    for(ll i = 0; i < n; i++){
        cin >> a >> b;
        arr[i] = {a,b};
    }
    arr[n] = arr[0];
    ll sum = 0;
    for(ll i = 0; i < n; i++){
        sum += (arr[i].first * arr[i+1].second) - (arr[i+1].first * arr[i].second);
       // cout << arr[i].first << " " << arr[i+1].second << endl;
       // cout << arr[i+1].first << " " << arr[i].second << endl;

    }
    cout << abs(sum) << endl;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    task1();

}

Test details

Test 1

Verdict: ACCEPTED

input
100
-7 -19
91 77
100 100
64 60
...

correct output
43582

user output
43582

Test 2

Verdict: ACCEPTED

input
1000
365625896 -113418831
278762563 38777445
250367343 -96991975
175866909 -129766978
...

correct output
4053466653883387139

user output
4053466653883387139

Test 3

Verdict: ACCEPTED

input
4
-1000000000 -1000000000
-1000000000 1000000000
1000000000 1000000000
1000000000 -1000000000

correct output
8000000000000000000

user output
8000000000000000000