Pagini recente » Cod sursa (job #2064447) | Cod sursa (job #1735729) | Cod sursa (job #809544) | Cod sursa (job #2946872) | Cod sursa (job #2545745)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int v[801];
int main()
{
int cnt=0,n,i,j,k,q;
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
sort(v+1,v+n+1);
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{ if(j == i + 1)
{for(k=j+1;v[k]<=(v[i]+v[j]) && k <=n ;k++)
cnt++;
q = k - 1;}
else
{
k = q;
while(v[k] > v[i] + v[j])
k--;
k = max(j , k);
cnt += k - j;
q = k;
}
}
out<<cnt;
return 0;
}