Cod sursa(job #3324360)

Utilizator iustin251007iustin balint iustin251007 Data 22 noiembrie 2025 10:10:15
Problema Cautare binara Scor 0
Compilator cpp-32 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
#include <algorithm> // pentru sort
using namespace std;

int v[100001];

int main() {
    ifstream cin("bete2.in");
    ofstream cout("bete2.out");

    int n, c = 0;
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> v[i];

    // Sortarea întregului vector de la index 1 la n
    sort(v + 1, v + n + 1); // sortare rapidă O(n log n)

    // Verificare triplete cu suma (două pointere)
    for (int k = 3; k <= n; k++) {
        int i = 1, j = k - 1;
        while (i < j) {
            int s = v[i] + v[j];
            if (s == v[k]) {
                c++;
                i++;
                j--;
            } else if (s < v[k]) {
                i++;
            } else {
                j--;
            }
        }
    }

    cout << c;

    return 0;
}