Pagini recente » Cod sursa (job #2299020) | Cod sursa (job #705727) | Cod sursa (job #1695934) | Cod sursa (job #1850588) | Cod sursa (job #2361634)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int n,k,i,as,ev,st[4],rezultat,v[801];
void succesor()
{
if(st[k]<n)
{
as=1;
st[k]++;
}
else as=0;
}
void valid()
{
ev=1;
for(i=1;i<k;i++)
if(st[i]==st[k]) ev=0;
if(k>1 && st[k]<st[k-1]) ev=0;
}
void back()
{
k=1;
st[k]=0;
while(k>0) {
succesor();
if(as)
valid();
while(as && ev==0)
{
succesor();
if(as)
valid();
}
if(as)
{
if(k==3)
{
if(v[st[1]]+v[st[2]]>=v[st[3]] && v[st[1]]+v[st[3]]>=v[st[2]] && v[st[2]]+v[st[3]]>=v[st[1]])
rezultat++;
/*for(i=1;i<=3;i++)
cout<<st[i]<<" ";
cout<<endl;*/
}
else st[++k]=0;
}
else k--; }
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>v[i];
back();
fout<<rezultat;
return 0;
}