Cod sursa(job #2570632)

Utilizator betybety bety bety Data 4 martie 2020 18:11:03
Problema Oite Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#include <map>
using namespace std;
ifstream cin("oite.in");
ofstream cout("oite.out");
const int lim=1024+3;
int v[lim];
map<int,int> m,f;
int main()
{
    int n,l,rasp=0;
    cin>>n>>l;
    for(int i=1;i<=n;++i)
        cin>>v[i],f[v[i]]++;
    for(int i=1;i<=n-1;++i)
    for(int j=i+1;j<=n;++j)
    if(v[i]+v[j]<=l){
        m[v[i]+v[j]]++;
        if(2*(v[i]+v[j])!=l)
        rasp+=m[l-v[i]-v[j]];
    }
    if(l%2==0) rasp+=(m[l/2]*(m[l/2]-1))/2;
    for(int i=1;i<=n;++i){
        rasp-=m[l-2*v[i]];
        if(l/2>=v[i] and l%2==0)
            rasp-=f[l/2-v[i]];
    }
    cout<<rasp;
    return 0;
}