Pagini recente » Cod sursa (job #2824585) | Cod sursa (job #755343) | Cod sursa (job #1356482) | Cod sursa (job #1493450) | Cod sursa (job #1754646)
#include <fstream>
#include <algorithm>
using namespace std;
int n,i,v[810],j,p,u,m,s,k,ap;
ifstream fin ("nrtri.in");
ofstream fout ("nrtri.out");
int main (){
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
sort (v+1, v+n+1);
for (i=1;i<=n-2;i++)
for (j=i+1;j<=n-1;j++){
s = v[i] + v[j];
p = 1;
u = n;
while (p<=u){
m = (p+u)/2;
if ( (v[m]<=s&&v[m+1]>s)||(v[m]<=s&&m==n)){
ap++;
break;
}
else{
if (v[m]<=s&&v[m+1]<=s)
p = m+1;
else
u = m-1;
}
}
// for (k=j+1;k<=n;k++)
// if (v[i]+v[j] >= v[k] && v[i]+v[k]>=v[j] && v[j]+v[k] >= v[i])
// ap++;
}
fout<<ap;
return 0;
}