Cod sursa(job #1848557)

Utilizator andrei_diaconu11Andrei C. Diaconu andrei_diaconu11 Data 16 ianuarie 2017 11:28:25
Problema Tribute Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>
#include <stdlib.h>

int lin[50001], col[50001];

int min(int a, int b){
    return a>b ? b:a;
}

int func(int *v, int a, int n){
    int contst=0, contdr=0, i, sum, smin;
    sum=0;
    for(i=50000-1;i>=a;i--){
        contdr+=v[i];
        sum+=contdr;
    }
    smin=sum;
    for(i=1;i<50001;i++){
        sum-=contdr;
        contst+=v[i-1];
        contdr-=v[i+a-1];
        sum+=contst;
        smin=min(smin,sum);
    }
    return smin;
}

int main()
{
    int n, a, b, x, y, i;
    FILE *fi=fopen("tribute.in", "r"), *fo=fopen("tribute.out", "w");
    fscanf(fi, "%d%d%d", &n, &a, &b);
    a++;
    b++;
    for(i=0;i<n;i++){
        fscanf(fi, "%d%d", &x, &y);
        lin[x]++;
        col[y]++;
    }
    fprintf(fo, "%d", func(col,a,n)+func(lin,b,n));
    fclose(fi);
    fclose(fo);
    return 0;
}