Cod sursa(job #3167257)

Utilizator nicushor21Pirlog Marian Nicolae nicushor21 Data 10 noiembrie 2023 15:03:47
Problema Pachete Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n,i,j,st,dr,mid,nrdr;
pair <int,int> clnt[50001],minim[50001];
int main()
{
    ifstream fin("pachete.in");
    ofstream fout("pachete.out");
    fin>>n;
    fin>>clnt[50000].first>>clnt[50000].second;
    nrdr=n;
    for(i=0;i<n;i++){
        fin>>clnt[i].first>>clnt[i].second;
        minim[i].first=abs(clnt[i].first-clnt[50000].first)+abs(clnt[i].second-clnt[50000].second);
        minim[i].second=i;
    }
    sort(minim,minim+n);
    for(i=0;i<n;i++){
        if(clnt[i].first!=-1){
            for(j=0;j<n;j++){
                if(clnt[i].first>=min(clnt[minim[j].second].first,clnt[50000].first)&&clnt[i].first<=max(clnt[minim[j].second].first,clnt[50000].first)&&clnt[i].second>=min(clnt[minim[j].second].second,clnt[50000].second)&&clnt[i].second<=max(clnt[minim[j].second].second,clnt[50000].second)&&i!=minim[j].second&&clnt[minim[j].second].first!=-1){
                    clnt[i].first=-1;
                    i=minim[j].second;
                    nrdr--;
                }
            }
            clnt[minim[i].second].first=-1;
        }
    }
    fout<<nrdr;
    return 0;
}