Pagini recente » Cod sursa (job #1005923) | Cod sursa (job #2597669) | Cod sursa (job #671052) | Cod sursa (job #2070360) | Cod sursa (job #2079338)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const int maxn=801;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int N,v[maxn];
void Read()
{
f>>N;
for (int i=0; i<N; i++)
f>>v[i];
sort(v,v+N);
}
int Binary_Search(int left,int right,int LgMin)
{
int poz=0,PrimaLatura=left;
while(left<=right)
{
int mid = (left + right) / 2;
if (v[mid]<=LgMin)
{
poz=mid;
left=mid+1;
}
else right=mid-1;
}
if (poz==0) return 0;
return poz-PrimaLatura+1;
}
void Solve()
{
int Ans=0,i,j;
for (i=0; i<N-1; i++)
for (j=i+1; j<N-1; j++)
Ans+=Binary_Search(j+1,N-1,v[i]+v[j]);
g<<Ans;
}
int main()
{
Read();
Solve();
}