Pagini recente » Cod sursa (job #1311125) | Istoria paginii runda/oni2010x2 | Cod sursa (job #2142141) | Cod sursa (job #540073) | Cod sursa (job #2408647)
#include <bits/stdc++.h>
#define MAXN 1030
using namespace std;
ifstream f("oite.in");
ofstream g("oite.out");
int v[MAXN];
int N,G,ans;
struct trp{
int x,y,z;
};
unordered_multimap <int,trp> HM;
void read_data(){
f>>N>>G;
for(int i=1;i<=N;i++)
f>>v[i];
}
void solve(){
trp temp;
for(int k,j,i=1;i<=N-2;i++)
for(j=i+1;j<=N-1;j++)
for(k=j+1;k<=N;k++){
temp={i,j,k};
HM.emplace(v[i]+v[j]+v[k],temp);
}
unordered_multimap <int,trp> :: iterator it;
for(int i=1;i<=N;i++){
auto range=HM.equal_range(G-v[i]);
for(it=range.first;it!=range.second;++it)
if((i-it->second.x)*(i-it->second.y)*(i-it->second.z))
++ans;
}
g<<ans/4;
}
int main(){
read_data();
solve();
return 0;
}