Cod sursa(job #2255985)
Utilizator | Data | 7 octombrie 2018 19:54:57 | |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
using namespace std;
int v[803];
int main()
{
int st,dr,mijl,i,n,poz,j,nr=0;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
for(i=1;i<=n-2;i++)
for(j=i+1;j<=n-1;j++)
{
st=i+2;
dr=n;
while(st<=dr)
{
mijl=(st+dr)/2;
if(v[mijl]>v[i]+v[j])dr=mijl-1;
else {poz=mijl;
st=mijl+1;}
}
nr=nr+(poz-j);}
out<<nr;
return 0;
}