Mai intai trebuie sa te autentifici.
Cod sursa(job #2910614)
Utilizator | Data | 22 iunie 2022 18:34:15 | |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | 3_iulie | Marime | 0.56 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int n,i,j,cnt,v[801];
int cautbin(int st,int dr,int x) {
while (st<=dr) {
int mid=(st+dr)/2;
if (v[mid]<=x)
st=mid+1;
else
dr=mid-1;
}
return dr;
}
int main() {
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
sort(v+1,v+n+1);
for (i=1;i<n-1;i++)
for (j=i+1;j<n;j++)
cnt+=cautbin(j+1,n,v[i]+v[j])-j;
fout<<cnt;
return 0;
}