Pagini recente » Borderou de evaluare (job #1689910) | Borderou de evaluare (job #1566881) | Cod sursa (job #1686610) | Borderou de evaluare (job #2000198) | Cod sursa (job #3141267)
#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
ifstream fin ("nrtri.in");
ofstream fout("nrtri.out");
typedef long long ll;
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++){
s+=cauta(v[i]+v[i+1])-i-1;
}
fout<<s;
fout.flush();
}