Cod sursa(job #2653064)

Utilizator IRadu1529Radu Ionescu IRadu1529 Data 26 septembrie 2020 19:24:31
Problema Oite Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
#include <fstream>
#include <unordered_map>
using namespace std;

ifstream fin("oite.in");
ofstream fout("oite.out");

int l, n, ans;

vector<int> o(1025);

unordered_map<int, int> a;

int main()
{
	fin >> n >> l;

	for (int i = 1; i <= n; ++i)
		fin >> o[i];

	sort(o.begin(), o.begin() + n);

	for (int i = 1; i <= n; ++i)
	{
		for (int j = i + 1; j <= n; ++j)
		{
			int s = o[i] + o[j];
			if (a[l - s] > 0)
				ans += a[l - s];

		}
		for (int j = i - 1; j >= 1; --j)
			a[o[i] + o[j]]++;
	}


	fout << ans;

	return 0;
}