Pagini recente » Cod sursa (job #516512) | Cod sursa (job #1832351) | Cod sursa (job #2971843) | Cod sursa (job #882517) | Cod sursa (job #2444712)
#include <iostream>
#include <algorithm>
using namespace std;
int main (){
int n;
cin >> n;
int i, v[1001];
for (i = 1; i <= n; ++i)
cin >> v[i];
sort(v + 1, v + n + 1);
int C = 0, j, s;
for (i = 1; i <= n - 2; ++i)
for (j = i + 1; j < n; ++j){
s = v[i] + v[j];
int st = j + 1, dr = n, mid;
int nr_rep = 0;
while (st <= dr){
mid = (st + dr) / 2;
if (v[mid] == s){
nr_rep = mid - 1;
break;
}
else{
if (v[mid] < s){
st = mid + 1;
nr_rep = mid;
}
else
dr = mid - 1;
}
}
cout << v[i] << " " << v[j] << " " << v[mid] << endl;
C += (nr_rep - j);
}
if (C < 0)
C *= -1;
cout << C;
return 0;
}