Cod sursa(job #3336732)
| Utilizator | Data | 25 ianuarie 2026 16:05:44 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int main()
{
int n;
fin>>n;
vector<long long>v(n);
for (int i=0; i<n; i++){
fin>>v[i];
}
sort(v.begin(), v.end());
long long cnt=0;
for(int k=n-1; k>=2; k--){
int i=0, j=k-1;
while(i<j){
if(v[i]+v[j]>=v[k]){
cnt+=(j-i);
j--;
}else{
i++;
}
}
}
fout<<cnt<<endl;
return 0;
}
