Cod sursa(job #3312164)

Utilizator sevescu_andreisevescu andrei sevescu_andrei Data 26 septembrie 2025 16:07:57
Problema Tribute Scor 10
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <stdio.h>
#include <stdlib.h>

int f[50001],x[50000],y[50000];

int main()
{
    FILE *fin, *fout;
    int i,n,dx,dy,k=0,j,sx=0,sy=0;
    fin=fopen("tribute.in", "r");
    fout=fopen("tribute.out", "w");
    fscanf(fin, "%d%d%d" ,&n,&dx,&dy);
    for(i=0;i<n;i++)
    {
        fscanf(fin, "%d%d" ,&x[i],&y[i]);
        f[x[i]]++;
    }
    for(i=0;i<50001;i++)
    {
        while(f[i]>0)
        {
            x[k++]=i;
            f[i]--;
        }
    }
    for(i=0;i<n;i++)
    {
        f[y[i]]++;
    }
    k=0;
    for(i=0;i<50001;i++)
    {
        while(f[i]>0)
        {
            y[k++]=i;
            f[i]--;
        }
    }
    i=0;
    j=n-1;
    while(i<j)
    {
        if(x[j]-x[i]-dx>0)
            sx+=x[j]-x[i]-dx;
        i++;
        j--;
    }
    i=0;
    j=n-1;
    while(i<j)
    {
        if(x[j]-x[i]-dy>0)
            sy+=y[j]-y[i]-dy;
        i++;
        j--;
    }
    fprintf(fout, "%d" ,sx+sy);
    return 0;
}