Cod sursa(job #594896)
Utilizator | Data | 10 iunie 2011 14:01:44 | |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
using namespace std;
int N,v[801];
int main()
{
int i,j,k,rez=0;
f>>N;
for(i=1;i<=N;i++)
f>>v[i];
sort(&v[1],&v[N+1]);
for(i=1;i<N-1;i++)
{
for(j=i+1,k=i+2;j<=N;j++)
{
while(k<=N && v[i]+v[j]>=v[k]) k++;
if(k>j) rez+=k-j-1;
}
}
g<<rez<<"\n";
}