Pagini recente » Cod sursa (job #1767496) | Istoria paginii runda/procopiu_9_oji2015 | Cod sursa (job #2343060) | Cod sursa (job #2888620) | Cod sursa (job #1289500)
#include <stdio.h>
#include <algorithm>
FILE *fin, *fout;
int n, *v, sum;
int main()
{
fin = fopen("nrtri.in", "r");
fout = fopen("nrtri.out", "w");
fscanf(fin, "%d", &n);
v = new int[n+23];
for(int i =0; i< n; i++) fscanf(fin, "%d", &v[i]);
std::sort(v, v+n);
for(int i = 0; i< n; i++)
{
for(int j = i+1; j< n; j++)
{
int temp = std::upper_bound(v+j+1, v+n, v[i]+v[j]) - v;
if(temp == n) sum += n-j-1;
else sum += temp-j-1;
}
}
fprintf(fout, "%d\n", sum);
fclose(fin);
fclose(fout);
return 0;
}