Pagini recente » Cod sursa (job #2398422) | Cod sursa (job #3259676) | Cod sursa (job #631534) | Cod sursa (job #1580781) | Cod sursa (job #2408676)
#include <bits/stdc++.h>
#define MAXN 1030
#define DIM 70000
using namespace std;
char buffer[DIM];
int cursor=DIM-1;
void read(int &x){
x=0;
while(!isdigit(buffer[cursor]))
if(++cursor==DIM){
cursor=0;
fread(buffer,1,DIM,stdin);
}
while(isdigit(buffer[cursor])){
x=x*10+buffer[cursor]-'0';
if(++cursor==DIM){
cursor=0;
fread(buffer,1,DIM,stdin);
}
}
}
int v[MAXN];
unordered_map <int,int> HM;
int N,G,ans;
void read_data(){
freopen("oite.in","r",stdin);
freopen("oite.out","w",stdout);
read(N);
read(G);
for(int i=1;i<=N;i++)
read(v[i]);
}
void solve(){
for(int j,i=1;i<=N;i++){
for(j=i+1;j<=N;j++)
if(v[i]+v[j]<=G)
ans+=HM[G-v[i]-v[j]];
for(j=i-1;j;j--)
if(v[i]+v[j]<=G)
++HM[v[i]+v[j]];
}
printf("%d",ans);
}
int main(){
read_data();
solve();
return 0;
}