Cod sursa(job #1026832)
| Utilizator | Data | 12 noiembrie 2013 01:43:26 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int n,x;
vector<int> v;
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
cin>>n;
for(int i=0;i<n;i++){
cin>>x;
v.push_back(x);
}
sort(v.begin(),v.end());
long long ans = 0;
for(vector<int> ::iterator iti = v.begin();iti!=v.end();iti++) {
for(vector<int>::iterator itj = iti+1;itj!=v.end();itj++) {
ans+=(int)((upper_bound(itj+1, v.end(), *iti+*itj)-(itj+1)));
}
}
cout<<ans;
return 0;
}