Cod sursa(job #2643151)

Utilizator MiclosMiclos Eduard Miclos Data 18 august 2020 23:09:25
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <map>
#include <algorithm>

using namespace std;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(NULL);
    cout.tie(NULL);

    int t;
    cin >> t;

    while (t--) {
        int n;
        cin >> n;
        map <int, int> frq_map;

        for (int i = 0; i < n; i++) {
            int x;
            cin >> x;
            frq_map[x]++;
        }

        int maximum = 0;
        for (int i = 2; i <= (2 * n); i++) {
            int total = 0;

            for (auto j : frq_map) {
                int pair = i - j.first;
                if (pair >= 1 && frq_map.count(pair))
                    total += min(frq_map[pair], j.second);
            }
            
            total /= 2;
            maximum = max(maximum, total);
        }

        cout << maximum << '\n';
    }
    return 0;
}