Cod sursa(job #2586983)

Utilizator valentinchipuc123Valentin Chipuc valentinchipuc123 Data 21 martie 2020 20:42:32
Problema Tribute Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("tribute.in");
ofstream g("tribute.out");

long long int n,di,dj,x,y;
long long int lin[50005],col[50005],part1,part2;
long long int st1[50005],dr1[50005],st2[50005],dr2[50005];
long long minim,aux;

int main()
{
f>>n>>dj>>di;
for(int i=1;i<=n;i++){
  f>>x>>y;
  lin[x+1]++;
  col[y+1]++;
 }
for(int i=1;i<=50001;i++){
  st1[i]=lin[i-1]+st1[i-1]+part1;
  part1+=lin[i-1];
 }
for(int i=50001;i>=1;i--){
  dr1[i]=lin[i+1]+dr1[i+1]+part2;
  part2+=lin[i+1];
 }
aux=100000000000;
for(int i=1;i<=50001-di;i++)
  {
 aux=min(aux,st1[i]+dr1[i+di]);
  }
minim=aux;
part1=0;
for(int i=1;i<=50001;i++){
  st2[i]=col[i-1]+st2[i-1]+part1;
  part1+=col[i-1];
 }
part2=0;
for(int i=50001;i>=1;i--){
  dr2[i]=col[i+1]+dr2[i+1]+part2;
  part2+=col[i+1];
 }
aux=100000000000;
for(int i=1;i<=5-dj;i++)
 {
aux=min(aux,st2[i]+dr2[i+dj]);
 }
minim+=aux;
g<<minim;
}