Cod sursa(job #2528042)

Utilizator serban_tiutionTiution Serban serban_tiution Data 21 ianuarie 2020 12:48:16
Problema Infasuratoare convexa Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.44 kb
#include  <bits/stdc++.h>

using namespace std;
ifstream f("infasuratoare.in");
ofstream g("infasuratoare.out");
int main()
{
    int n, i, a=0, b=0, c=0, d=0;
    float x[120001], y[120001], xmin=1000000000, ymin=1000000000, xmax=0, ymax=0;
    f>>n;
    stack <float> s;
    for(i=1; i<=n; i++)
    {
        f>>x[i]>>y[i];
        if(x[i]<xmin)
        {
            xmin=x[i];
            a=1;
        }else if(x[i]==xmin)
        {
            a++;
        }
        if(x[i]>xmax)
        {
            xmax=x[i];
            b=1;
        }else if(x[i]==xmax)
        {
            b++;
        }
        if(y[i]<ymin)
        {
            ymin=y[i];
            c=1;
        }else if(y[i]==ymin)
        {
            c++;
        }
        if(y[i]>ymax)
        {
            ymax=y[i];
            d=1;
        }else if(y[i]==ymax)
        {
            d++;
        }
    }
    g<<a+b+c+d<<endl;
    for(i=1; i<=n; i++)
    {
        if(y[i]==ymin)
        {
            g<<fixed<<setprecision(6)<<x[i]<<" "<<ymin<<endl;
        }
    }
    for(i=1; i<=n; i++)
    {
        if(x[i]==xmax)
        {
            g<<xmax<<" "<<y[i]<<endl;
        }
    }
    for(i=n; i>=1; i--)
    {
        if(y[i]==ymax)
        {

            g<<x[i]<<" "<<ymax<<endl;
        }
    }
    for(i=n; i>=1; i--)
    {
        if(x[i]==xmin)
        {
            g<<xmin<<" "<<y[i]<<endl;
        }
    }
}