Pagini recente » Cod sursa (job #3232263) | Cod sursa (job #2358803) | Cod sursa (job #425085) | Cod sursa (job #1770266) | Cod sursa (job #465120)
Cod sursa(job #465120)
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
vector<int>lat;
int N,nr,x;
int caut_bin(int st,int dr,int x)
{ int mijl,poz=0;
while(st<=dr)
{ mijl=(st+dr)/2;
if(x>=lat[mijl])
poz=mijl , st=mijl+1;
else
dr=mijl-1;
}
return poz;
}
int main()
{ f>>N;
int r;
lat.push_back(-1);
for(int i=1;i<=N;i++)
f>>r , lat.push_back(r);
sort(lat.begin(),lat.end());
for(int i=1;i<=N;i++)
for(int j=i+1;j<=N;j++)
{ x=caut_bin(j,N,lat[i]+lat[j]);
if(x!=0)
nr+=(x-j);
}
g<<nr;
f.close();
g.close();
return 0;
}