Rezultati

Up. imeNalogaJezikRezultatČas oddaje
finalsolution-2017 Črte C 0/100Prekoračen čas (TLE) 20. apr '17 @ 18:26

Test Točke Porabljen spomin Porabljen čas Status
#1 10/10 1,527 MiB 0,000 s OK
#2 10/10 1,559 MiB 0,005 s OK
#3 10/10 1,520 MiB 0,005 s OK
#4 10/10 7,172 MiB 0,181 s OK
#5 0/10 241,016 MiB 10,644 s Prekoračen čas
#6 0/10 344,781 MiB 10,674 s Prekoračen čas
#7 0/10 405,273 MiB 10,680 s Prekoračen čas
#8 0/10 401,629 MiB 10,681 s Prekoračen čas
#9 0/10 345,270 MiB 10,650 s Prekoračen čas
#10 0/10 345,645 MiB 10,638 s Prekoračen čas

Ocenjevani program (crte.c):
#include <stdio.h>
#include <stdlib.h>

int N = 0;
int A[71994000];
int X[12000];
int Y[12000];

static int compar(const int *a, const int *b) {
    return *a - *b;
}

int main() {
    int i = 0, j = 0, k = 0, np = 0;
    scanf("%d", &N);
    for (; i < N; i++) scanf("%d %d", &X[i], &Y[i]);
    for (i = 0; i < N; i++) {
        for (j = 0; j < i; j++) A[k++] = (X[i] - X[j]) * (X[i] - X[j]) + (Y[i] - Y[j]) * (Y[i] - Y[j]);
    }
    qsort(A, k, sizeof(A[0]), (int (*)(const void *, const void *))compar);
    for (i = 0; i < k; i++) {
        if (i == 0 || A[i] != A[j]) j = i;
        else np += (i - j);
    }
    printf("%d\n", np);
    return 0;
}