Cod sursa(job #1909252)
| Utilizator | Data | 7 martie 2017 12:01:25 | |
|---|---|---|---|
| Problema | Oite | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 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;
long long rs=0;
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;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;j++){
H[A[i]+A[j]]++;
}
}
fout<<rs;
return 0;
}
