Pagini recente » Cod sursa (job #2352464) | Cod sursa (job #1285518) | Cod sursa (job #785814) | Cod sursa (job #1202270) | Cod sursa (job #562267)
Cod sursa(job #562267)
#include <fstream>
#include <algorithm>
using namespace std; ifstream in("nrtri.in"); ofstream out("nrtri.out");
const int N=801;
short v[N],n;
int caut(int x){
int i,pos=1<<10;
for(i=0 ; pos!=0 ; pos>>=1){
if (i+pos<n && v[i+pos]<=x){
i+=pos;
}
}
return 1+i;
}
int verifica(){
int nr=0,k;
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
k=caut(v[i]+v[j]);
if(k>j)
nr+=k-j-1;
}
}
return nr;
}
int main(){
in>>n;
for (int i = 0; i < n; i++) {
in>>v[i];
}
sort(&v[0],&v[n]);
out<<verifica();
return 0;
}