Cod sursa(job #3167144)

Utilizator nicushor21Pirlog Marian Nicolae nicushor21 Data 10 noiembrie 2023 10:21:18
Problema Pachete Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.2 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=n-1;i>=0;i--){
        if(clnt[minim[i].second].first!=-1){
            for(j=0;j<n;j++){
                if(clnt[j].first>=min(clnt[minim[i].second].first,clnt[50000].first)&&clnt[j].first<=max(clnt[minim[i].second].first,clnt[50000].first)&&clnt[j].second>=min(clnt[minim[i].second].second,clnt[50000].second)&&clnt[j].second<=max(clnt[minim[i].second].second,clnt[50000].second)&&j!=minim[i].second){
                    clnt[j].first=-1;
                    cout<<j<<" "<<i<<" "<<minim[i].second<<'\n';
                    nrdr--;
                }
            }
            clnt[minim[i].second].first=-1;
        }
    }
    fout<<nrdr;
    return 0;
}