Pagini recente » Cod sursa (job #206530) | Cod sursa (job #1790638) | Cod sursa (job #707835) | Cod sursa (job #3123329) | Cod sursa (job #2072017)
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
int v[800];
int cautbin(int poz, int k, int n){
int pas;
pas=1<<9;
while(pas!=0){
if(v[poz+pas]<=k && poz+pas<n)
poz+=pas;
pas/=2;
}
return poz;
}
int main(){
FILE *fin, *fout;
int n, i, j, nr, rasp;
fin=fopen("nrtri.in", "r");
fout=fopen("nrtri.out", "w");
fscanf(fin, "%d", &n);
for(i=0;i<n;i++)
fscanf(fin, "%d", &v[i]);
sort(v, v+n);
nr=0;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
nr+=cautbin(j, v[i]+v[j], n)-j;
fprintf(fout, "%d", nr);
fclose(fin);
fclose(fout);
return 0;
}