Mai intai trebuie sa te autentifici.
Cod sursa(job #2273448)
Utilizator | Data | 31 octombrie 2018 16:26:31 | |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.79 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
#define NMax 801
///#define f cin
///#define g cout
using namespace std;
int n, a[NMax], x, ans;
ifstream f("ntri.in");
ofstream g("ntri.out");
int cautare_binara(int a[NMax], int n, int x)
{
int L = 0;
int R = n - 1;
while(L <= R)
{
int mid = (int)(L + R)/2;
if(a[mid] < x) L = mid + 1;
else if(a[mid] >= x)
{
return mid;
R = mid - 1;
}
}
return -1;
}
int main()
{
ios::sync_with_stdio(false);
f >> n;
for(int i = 0; i < n; ++i)
f >> a[i];
sort(a, a + n);
for(int i = 0; i < n - 1; ++i)
if(cautare_binara(a, n, a[i] + a[i + 1]) != -1) ++ans;
g << ans << '\n';
return 0;
}