Pagini recente » Clasament becreative11 | Clasament inca_inca_vacanta_ix | Cod sursa (job #1802118) | Istoria paginii preoni-2007/runda-finala/poze/deschidere | Cod sursa (job #2656710)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream cin("nrtri.in");
ofstream cout("nrtri.out");
int n,v[801];
int cautbin(int *v,int x){
int low=0,high=n+1,mid;
while (high - low > 1) {
mid = (low + high) / 2;
if (v[mid] < x) {
low = mid;
} else { // v[mid] >= x
high = mid;
}
}
if ( high ==n+1 || v[high]!=x) {
return low;
} else {
return high;
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>v[i];
}
sort(v+1,v+n+1);
int k=0;
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){
int sm=(v[i]+v[j]);int e=cautbin(v,sm);
if(sm>=v[e] && (v[j]+v[e])>=v[i] && (v[i]+v[e])>=v[j] && e!=i && e!=j){
//cout<<i<<" "<<j<<" "<<e<<endl;
k++;
}
}
}
cout<<k;
return 0;
}