Pagini recente » Cod sursa (job #3208886) | Clasament preONI 2007, Runda 3, Clasa a 9-a si gimnaziu | Cod sursa (job #2667955) | Cod sursa (job #1120623) | Cod sursa (job #2657251)
#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 high=n+1,mid,low=0;
while (high - low > 1) {
mid = (low + high) / 2;
if (v[mid] <= x) {
low = mid;
} else { // v[mid] >= x
high = mid;
}
}
return low;
}
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;
}