Pagini recente » Cod sursa (job #1208534) | Cod sursa (job #1912466) | Cod sursa (job #2582284) | Cod sursa (job #1432785) | Cod sursa (job #1298074)
#include<fstream>
#include<vector>
#define DIM 1027
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
vector<int>H[DIM];
vector<int>::iterator it;
int v[DIM],n,i,j;
int s,sum,L,nr;
vector<int>::iterator cauta(int x,int p){
vector<int>::iterator it;
for(it=H[p].begin() ; it!=H[p].end() ; it++){
if(x == *it){
return it;
}
}
return it;
}
int main(){
fin>>n>>L;
for(i=1;i<=n;i++){
fin>>v[i];
}
for(i=1;i<n;i++){
for(j=i+1;j<=n;j++){
s=v[i]+v[j];
if(s<L){
sum=L-s;
it=cauta(sum,sum%DIM);
if(it!=H[sum%DIM].end()){
nr++;
}
}
}
for(j=1;j<i;j++){
s=v[i]+v[j];
H[s%DIM].push_back(s);
}
}
fout<<nr;
return 0;
}