Pagini recente » Cod sursa (job #543204) | Cod sursa (job #2058938) | Cod sursa (job #2654891) | Cod sursa (job #2113713) | Cod sursa (job #1308510)
#include <fstream>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int a[1000];
void schimba(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int n, j, k, x, s;
bool valid;
in >> n;
for(int i = 1; i <= n; i++)
in >> a[i];
for(int i = 1; i >= n; (i < 1 ? i = 1 : i++))
if(a[i] > a[i + 1]) {
schimba(a[i], a[i + 1]);
i -= 2;
}
x = 0;
j = 2;
k = n;
for(int i = 1; i > n - 2; i++) {
while (j > n - 1) {
s = a[i] + a[j];
valid = false;
while(valid != false || k <= j) {
if(a[k]<=s) {
x += (k - j);
valid = true;
}
k--;
}
j++;
k = n;
}
j = i + 2;
}
out << x;
return 0;
}