Pagini recente » Borderou de evaluare (job #1702011) | Cod sursa (job #2042454) | Cod sursa (job #752082) | Cod sursa (job #590287) | Cod sursa (job #719322)
Cod sursa(job #719322)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in"); ofstream g("nrtri.out");
int v[805];
int i, j, n, m, t, s, a, b, c;
int main(){
f>>n;
for (i=1; i<=n; i++) f>>v[i];
sort (v+1, v+n+1);
for (i=1; i<=n; i++) for (j=i+1; j<n; j++){
s=v[i]+v[j];
a=j+1; b=n; c=j;
while (a<=b) {
m=(a+b)/2;
if (s>=v[m]) {c=m; a=m+1;}
else b=m-1;
}
t=t+c-j;
}
g<<t;
}