Pagini recente » Cod sursa (job #762016) | Cod sursa (job #2690334) | Cod sursa (job #1821569) | Cod sursa (job #2543239) | Cod sursa (job #477058)
Cod sursa(job #477058)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
#define MAXN 802
#define LMAX 30002
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int x[MAXN],n,i,j,k,tot,ms,md,mi,mare;
int main()
{
fin>>n;
for(i=1;i<=n;i++) fin>>x[i];
sort(&x[1],&x[n+1]);
for(i=1;i<n;i++) {
for(j=i+1;j<=n;j++) {
mare=x[i]+x[j];
ms=j+1; md=n;
while (ms+1<md) {
mi=(ms+md)>>1;
if (x[mi]<mare) {
ms=mi;
}
else if (mare<x[mi]) {
md=mi;
}
else break;
}
while (x[mi]<=mare&&mi<=n) {mi++;} mi--;
tot+=mi-j;
}
}
fout<<tot<<"\n";
fout.close();
return 0;
}