Pagini recente » Cod sursa (job #2423456) | Cod sursa (job #2806453) | Cod sursa (job #2446016) | Cod sursa (job #2928823) | Cod sursa (job #2408625)
#include <bits/stdc++.h>
#define MAXN 1030
using namespace std;
ifstream f("oite.in");
ofstream g("oite.out");
int v[MAXN];
unordered_multimap <int, pair <int,int> > HM;
int N,G,ans;
void read_data(){
f>>N>>G;
for(int i=1;i<=N;i++)
f>>v[i];
}
void solve(){
for(int j,i=1;i<N;i++)
for(j=i+1;j<=N;j++)
HM.emplace(v[i]+v[j],make_pair(i,j));
unordered_multimap <int, pair <int,int> > :: iterator it;
for(int j,i=1;i<N;i++)
for(j=i+1;j<=N;j++){
auto range=HM.equal_range(G-v[i]-v[j]);
for(it=range.first;it!=range.second;++it)
if((it->second.first-i)*(it->second.second-i)*(it->second.first-j)*(it->second.second-j))
++ans;
}
g<<ans/6;
}
int main(){
read_data();
solve();
return 0;
}