Nu aveti permisiuni pentru a descarca fisierul grader_test3.ok
Cod sursa(job #1522027)
| Utilizator | Data | 11 noiembrie 2015 08:41:00 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <fstream>
#include <algorithm>
#define In "nrtri.in"
#define Out "nrtri.out"
#define Nmax 805
using namespace std;
int a[Nmax],sol,n;
inline void Citire()
{
ifstream f(In);
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
f.close();
sort(a+1,a+n+1);
}
inline void Rezolvare()
{
int i,j,k;
for(i=1;i<=n-2;i++){
for(j=i+1;j<=n-1;j++){
k = max(k,j);
while(k < n && a[i]+a[j] >= a[k+1])
++k;
sol += k-j;
}
}
}
inline void Afisare()
{
ofstream g(Out);
g<<sol<<"\n";
g.close();
}
int main()
{
Citire();
Rezolvare();
Afisare();
return 0;
}