Cod sursa(job #2913661)

Utilizator euyoTukanul euyo Data 15 iulie 2022 21:35:09
Problema Oite Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

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

const int DIM = 1 << 11;
const int MOD = 777013; 

int v[DIM];
vector<int> val[MOD]; 

int main() {
  int c, l;

  fin >> c >> l;
  for ( int i = 1; i <= c; ++i ) {
	fin >> v[i];
  }
  int res = 0;
  for ( int i = 1; i <= c; ++i ) {
	for ( int j = i + 1; j <= c; ++j ) {
	  int rem = l - v[i] - v[j], cnt = 0;
	  for ( auto t : val[rem % MOD] ) {
		cnt += (t == rem);
	  }
      res += cnt;
	}
	for ( int j = 1; j < i; ++j ) {
	  val[(v[i] + v[j]) % MOD].push_back(v[i] + v[j]);
	}
  }
  fout << res;
  fin.close();
  fout.close();
  return 0;
}