Pagini recente » Cod sursa (job #610079) | Cod sursa (job #1818974) | nustiucesazic | Cod sursa (job #28514) | Cod sursa (job #943020)
Cod sursa(job #943020)
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <fstream>
using namespace std;
const string file = "nrtri";
const string infile = file + ".in";
const string outfile = file + ".out";
int N;
vector<int> A;
int sol;
void citire()
{
ifstream fin(infile.c_str());
fin >> N;
A.resize(N);
for(int i = 0; i < N; i++)
{
fin >> A[i];
}
fin.close();
}
void solve()
{
sort(A.begin(), A.end());
for(int i = 0; i < N-2; i++)
{
for (int j = i+2; j < N; ++j)
{
int l = A[j] - A[i];
int index = lower_bound(A.begin()+i+1, A.begin()+j, l) - A.begin();
sol += j - index;
}
}
}
void afisare()
{
ofstream fout(outfile.c_str());
fout << sol;
fout.close();
}
int main()
{
citire();
solve();
afisare();
}