Cod sursa(job #2822178)

Utilizator GligarEsterabadeyan Hadi Gligar Data 23 decembrie 2021 17:57:19
Problema Oite Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <vector>
#include <unordered_map>

using namespace std;

ifstream fin("oite.in");
ofstream fout("oite.out");

const int nmax=1024;

int v[nmax+1];

unordered_map <int, int> um;

int main(){
    int n,l;
    fin>>n>>l;
    for(int i=1;i<=n;i++){
        fin>>v[i];
    }
    for(int i=3;i<=n-1;i++){
        for(int j=i+1;j<=n;j++){
            int sv=v[i]+v[j];
            um[sv]++;
        }
    }
    int sol=0;
    for(int i=2;i<=n-2;i++){
        for(int j=1;j<=i-1;j++){
            if(l-v[i]-v[j]>=0){
                sol+=um[l-v[i]-v[j]];
            }
        }
        for(int j=i+2;j<=n;j++){
            int sv=v[i+1]+v[j];
            um[sv]--;
        }
    }
    fout<<sol<<"\n";
    return 0;
}