Pagini recente » Cod sursa (job #357928) | Cod sursa (job #2197171) | Cod sursa (job #1154654) | Profil CineVa1237 | Cod sursa (job #1022688)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream is("nrtri.in");
ofstream os("nrtri.out");
int n, x;
int cnt;
int suma;
vector<int> q;
int ASDGAF(int st);
int main()
{
is >> n;
q.push_back(0);
for ( int i = 1; i <= n; ++i )
{
is >> x;
q.push_back(x);
}
for ( int i = 1; i <= n - 2; ++i )
for ( int j = i + 1; j <= n - 1; ++j )
{
suma = q[i] + q[j];
cnt += ASDGAF(j);
}
os << cnt;
is.close();
os.close();
return 0;
}
int ASDGAF(int st)
{
int m, dr = n;
int incep = st;
bool gasit = false;
while ( st <= dr )
{
m = ( st + dr ) / 2;
if ( q[m] > suma )
dr = m - 1;
else
{
st = m + 1;
gasit = true;
}
}
return m - incep;
return 0;
}