Pagini recente » Cod sursa (job #1136419) | Cod sursa (job #1708559) | Cod sursa (job #3285958) | Cod sursa (job #1336685) | Cod sursa (job #1474563)
#include <fstream>
#include <algorithm>
using namespace std;
int limL, limR, n, sol, s, mid, v[801], j;
int main()
{
ifstream f("nrtri.in");
ofstream g("nrtri.out");
f >> n;
for (int i = 1; i <= n; i++)
f >> v[i];
sort (v + 1, v + n + 1);
for (int i = 1; i <= n - 2; i++)
for (int j = i + 1; j <= n - 1; j++)
{
limL = j;
limR = n + 1;
s = v[i] + v[j];
while (limR - limL != 1)
{
mid = limL + (limR - limL)/2;
if (s >= v[mid]) limL = mid;
else limR = mid;
}
mid = limL + (limR - limL)/2;
sol += (mid - j);
}
g << sol;
return 0;
}