Cod sursa(job #1791535)

Utilizator andreicoman299Coman Andrei andreicoman299 Data 29 octombrie 2016 14:34:14
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <stdio.h>
#include <stdlib.h>


#define BUF_SIZE 16384
char buf[BUF_SIZE];
int pbuf=BUF_SIZE;
FILE*fi,*fo;
inline char nextch(){
    if(pbuf==BUF_SIZE){
        fread(buf, BUF_SIZE, 1, fi);
        pbuf=0;
    }
    return buf[pbuf++];
}
inline long long nextnum(){
    long long a=0;
    char c=nextch();
    while((c<'0' || c>'9') && c!='-')
        c=nextch();
    int semn=1;
    if(c=='-'){
        semn=-1;
        c=nextch();
    }
    while('0'<=c && c<='9'){
        a=a*10+c-'0';
        c=nextch();
    }
    return a*semn;
}


int v[9000], a[9000];
int main(){
    fi=fopen("medie.in","r");
    fo=fopen("medie.out","w");
    int n=nextnum();
    for(int i=0;i<n;i++){
        v[i]=nextnum();
        a[v[i]]++;
    }
    int c=0;
    for(int i=0;i<n;i++)
        for(int j=i+1;j<n;j++)
            if((v[i]+v[j])%2==0){
                c+=a[(v[i]+v[j])/2];
                if(v[i]==v[j])
                    c-=2;
            }
    fprintf(fo,"%d", c);
    fclose(fi);
    fclose(fo);
    return 0;
}