Cod sursa(job #2209068)

Utilizator toadehuPuscasu Razvan Stefan toadehu Data 1 iunie 2018 17:33:37
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;

int ap[7005];

int main()
{
    ifstream fin ("medie.in");
    ofstream fout ("medie.out");
    int n,maxx=-1;
    fin>>n;
    for(int i=1; i<=n; ++i)
    {
        int x;
        fin>>x;
        ++ap[x];
        if(x>maxx)
        {
            maxx=x;
        }
    }
    long long s=0;
    for(int i=1; i<=7000; ++i)
    {
        s+=ap[i]*(ap[i]-1)*(ap[i]-2)/2;
        int st=i-1,dr=i+1;
        while(st>=1&&dr<=7000)
        {
            s+=ap[st]*ap[dr]*ap[i];
            --st;
            ++dr;
        }
    }
    fout<<s;
    return 0;
}