Cod sursa(job #1917484)

Utilizator KusikaPasa Corneliu Kusika Data 9 martie 2017 12:22:53
Problema Oite Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;

//MACROS
#define rep(i, begin, end) for (__typeof(end) i = (begin) - ((begin) > (end)); i != (end) - ((begin) > (end)); i += 1 - 2 * ((begin) > (end)))

unordered_map<int,int> sum;
int a[2000], C, n, ans;

int main() {
	freopen("oite.in","r",stdin);
	freopen("oite.out","w",stdout);
	//freopen("in.txt","r",stdin);

	cin >> n >> C;
	rep(i,0,n) cin >> a[i];
	sort(a,a+n);
	rep(i,0,n) {
        rep(j,i+1,n) {
            ans += sum[C - a[i] - a[j]];
        }
        rep(j,0,i) sum[a[i] + a[j]]++;
	}
	cout << ans;
}