Pagini recente » Cod sursa (job #442101) | Cod sursa (job #59214) | Cod sursa (job #2239286) | Cod sursa (job #1641420) | Cod sursa (job #3141278)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("nrtri.in");
ofstream fout("nrtri.out");
short v[806], n, s=0;
int cauta(int val){
int index=0;
for(int bit=16;bit>=0;bit--){
index+=1<<bit;
if(index>n) index -= 1<<bit;
else if(v[index]>val) index -= 1<<bit;
}
return index;
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++){
fin>>v[i];
}
sort(v+1,v+n+1);
for(int i=1;i<n;i++){
for(int j=i+1;j<n;j++){
s+=cauta(v[i]+v[j])-j;
}
}
fout<<s;
fout.flush();
return 0;
}