Pagini recente » Cod sursa (job #231735) | Cod sursa (job #2029717) | Cod sursa (job #2234447) | Cod sursa (job #1674029) | Cod sursa (job #1943208)
#include<fstream>
#include<vector>
#define aux 999999
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
int c,l,i,j,q,t,e,ok,x,x1,sol;
int v[1027];
vector<pair<int,int> >d[aux];
int main(){
fin>>c>>l;
for(i=1;i<=c;i++){
fin>>v[i];
}
q=v[1]+v[2];
d[q%aux].push_back(make_pair(q,1));
for(i=3;i<c;i++){
for(j=i+1;j<=c;j++){
x=l-v[i]-v[j];
e=x%aux;
x1=d[e].size();
for(t=0;t<x1;t++){
if(d[e][t].first+v[i]+v[j]==l){
sol+=d[e][t].second;
break;
}
}
}
for(j=i-1;j>=1;j--){
x=v[i]+v[j];
e=x%aux;
x1=d[e].size();
ok=0;
for(t=0;t<x1;t++){
if(d[e][t].first==x){
d[e][t].second++;
ok=1;
break;
}
}
if(ok==0){
d[e].push_back(make_pair(x,1));
}
}
}
fout<<sol;
return 0;
}