Pagini recente » Cod sursa (job #1719563) | Cod sursa (job #2200636) | Cod sursa (job #3351012) | Cod sursa (job #1697961) | Cod sursa (job #3351016)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int main()
{
int n;
fin>>n;
vector<int>v(n);
for(int i=0;i<n;i++)
fin>>v[i];
sort(v.begin(),v.end());
int cont=0;
for(int l1=0;l1<n;l1++){
for(int l2=l1+1;l2<n;l2++){
int stg=l2+1;
int dr=n-1;
int l3=l2,val=v[l1]+v[l2];
while(stg<=dr){
int mij=(stg+dr)/2;
if(v[l1]+v[l2]>=v[mij]){
l3=mij;
dr=mij-1;
}
else{
stg=mij+1;
}
}
cont+=l3-l2;
//cout<<v[l1]<<" "<<v[l2]<<" "<<v[l3]<<endl;
}
}
fout<<cont;
return 0;
}