Cod sursa(job #3324597)

Utilizator Dia3141Costea Diana Stefania Dia3141 Data 22 noiembrie 2025 17:38:28
Problema Tribute Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#define dim (int)(5e4+1)
using namespace std;
ifstream cin("tribute.in");
ofstream cout("tribute.out");
int n,dx,dy,coord[dim][2],x,y,st[dim],dr[dim],fr_st[dim],fr_dr[dim];
int solve(int tip,int d){
    for(int i=0;i<dim;i++)
        fr_st[i]=fr_dr[i]=st[i]=dr[i]=0;
    for(int i=1;i<=n;i++){
        fr_st[coord[i][tip]]++;
        fr_dr[coord[i][tip]]++;
    }
    for(int i=1;i<dim;i++){
        fr_st[i]+=fr_st[i-1];
        st[i]=st[i-1]+fr_st[i-1];
    }
    for(int i=dim-2;i>0;i--){
        fr_dr[i]+=fr_dr[i+1];
        dr[i]=dr[i+1]+fr_dr[i+1];
    }
    int mini=dr[d];
    for(int i=1;i<dim-d;i++)
        mini=min(mini,st[i]+dr[i+d]);
    return mini;
}
int main()
{
    cin>>n>>dx>>dy;
    for(int i=1;i<=n;i++)
        cin>>coord[i][0]>>coord[i][1];
    cout<<solve(0,dx)+solve(1,dy)<<'\n';
	return 0;
}