Cod sursa(job #3309522)
| Utilizator | Data | 6 septembrie 2025 10:30:52 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<fstream>
#include<algorithm>
using namespace std;
ifstream cin("nrtri.in");
ofstream cout("nrtri.out");
int a[800],b[30001];
int main()
{
int j=0,k=0,n;
cin>>n;
for(int i=0;i<n;cin>>a[i++]);
sort(a,a+n);
for(int i=a[0]+1;i<=a[n-1]-a[1];b[i++]=j)
for(;a[j]<i;++j);
for(int i=1;i<n-1;++i)
for(int j=i+1;j<n&&a[j]<=2*a[i];k+=i-b[a[j++]-a[i]]);
return cout<<k,0;
}
