Pagini recente » Cod sursa (job #2308876) | Cod sursa (job #136887) | Monitorul de evaluare | Cod sursa (job #1630848) | Cod sursa (job #1514673)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int n, v[3001], i, a, b, nr=0, mid, st, dr;
int main(){
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
sort(v+1, v+n+1);
for(i=1;i<n-1;i++)
for(a=1+i;a<n;a++) {
st=a+1;
dr=n;
while(st<=dr){
mid=(st+dr)/2;
if(v[mid]<=v[a]+v[i])
st = mid+1;
else
dr=mid-1;
}
nr += (dr-a);
}
fout<<nr;
}