Pagini recente » Monitorul de evaluare | Cod sursa (job #2429729) | Cod sursa (job #2429728)
#include <iostream>
#include <fstream>
using namespace std;
int n,st,dr,sol,m;
unsigned short A[801];
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
void qs(int st,int dr)
{
if(st<dr)
{
int median = (st+dr)/2;
swap(A[st],A[median]);
int i = st,j = dr,d =0;
while(i<j)
{
if(A[i]>A[j])
{
swap(A[i],A[j]);
d = 1-d;
}
i+=d;
j-= 1-d;
}
qs(st,i-1);
qs(i+1,dr);
}
}
int main()
{
fin>>n;
for(int i = 0;i<n;i++)
fin>>A[i];
for(int i = 0;i<n;i++)
{
for(int j = i+1;j<=n;j++)
{
st = j+1;
dr = n;
sol = -1;
while(st<dr)
{
m = (st+dr)/2;
if(A[m]<=A[i]+A[j])
{
st = m+1;
sol = m;
}
else
{
dr = m-1;
}
}
if(sol!=-1) t++;
}
}
return 0;
}