Cod sursa(job #1909190)
| Utilizator | Data | 7 martie 2017 11:52:23 | |
|---|---|---|---|
| Problema | Oite | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
map <int,int> H;
int N,A[2000],S,rs;
int main()
{
fin >>N>>S;
for (int i=0;i<N;i++) fin >>A[i];
sort(A,A+N);
for (int i=0;i<N-1;i++){
for (int j=i+1;j<N;j++){
map <int,int>::iterator it=H.find(S-A[i]-A[j]);
if (it!=H.end()) rs+=it->second;
}
for (int j=0;j<i-1;j++){
H[A[i]+A[j]]++;
}
}
fout<<rs;
return 0;
}
