Pagini recente » Cod sursa (job #2683024) | Cod sursa (job #1517407) | Cod sursa (job #1219) | Cod sursa (job #2737070) | Cod sursa (job #1567515)
#include <iostream>
#include <fstream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
#define trace(x) cerr << #x << ": " << x << '\n'
#define trace2(x, y) cerr << #x << ": " << x << " " << #y << ": " << y << '\n'
#define debug(x) cerr << x << '\n'
using int64 = long long int;
using uint = unsigned int;
using uint64 = unsigned long long int;
using pii = pair<int, int>;
using pll = pair<int64, int64>;
const int nmax = 805;
int sides[nmax];
int n;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int main() {
in >> n;
for (int i = 0; i < n; ++i)
in >> sides[i];
sort(sides, sides + n);
int result = 0;
for (int i = 0; i < n; ++i)
for (int j = i + 1; j < n; ++j) {
auto x = upper_bound(sides + j + 1, sides + n, sides[i] + sides[j]);
result += (x - (sides + j + 1));
}
out << result << '\n';
return 0;
}