Cod sursa(job #2984353)

Utilizator MesterelMester Darius Mesterel Data 24 februarie 2023 00:50:23
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdio>
#include <cmath>
# include <cassert>
using namespace std;

const char *FOU = "aria.out";

int main(){
    ifstream fin("aria.in");
    //assert (freopen (FOU, "w", stdout));
    int nrp;
    fin>>nrp;
    long double pi,pj; //primul punct ca sa il fac cu ultimul
    fin>>pi>>pj;
    --nrp;
    long double p1i, p1j, p2i, p2j;
    long double sum=0;

    for (p1i=pi, p1j=pj; nrp; --nrp){
        fin>>p2i>>p2j;
        sum+=p1i*p2j-p2i*p1j;
        p1i=p2i;   p1j=p2j;
    }
    sum+=p2i*pj-pi*p2j;
    long double rez=0.5*sum;
    //5 cifre dupa virgula
    int sp=rez;
    int cct=0;
    while (sp){
        ++cct;
        sp/=10;
    }
    fout<<setprecision(5+cct)<<rez*(-1)*(rez<0)+rez*(rez>=0);
}