Cod sursa(job #2627992)
Utilizator | Data | 13 iunie 2020 19:49:23 | |
---|---|---|---|
Problema | Oite | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <algorithm>
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream in("oite.in");
ofstream out("oite.out");
long long a[1050], rs;
unordered_map <long long, int> m;
int main()
{
int n, S;
in >> n >> S;
for(int i = 0; i < n; i++)
in >> a[i];
sort(a, a + n);
for(int i = 0; i < n; i++)
{
for(int j = i + 1; j < n; j++)
rs += m[S - a[i] - a[j]];
for(int j = 0; j < i; j++)
m[a[i] + a[j]]++;
}
out << rs;
return 0;
}