Pagini recente » Borderou de evaluare (job #2014928) | Rating galbenu liliana (lilianagalbenu) | Cod sursa (job #1563662) | Cod sursa (job #3189513) | Cod sursa (job #2872688)
#include <fstream>
#include <algorithm>
#define NMAX 800
using namespace std;
int v[NMAX + 1], n;
int main(){
ifstream fin ("nrtri.in");
ofstream fout ("nrtri.out");
fin >> n;
for (int i = 1; i <= n; i++)
fin >> v[i];
sort (v + 1, v + n + 1);
int sol = 0;
for (int i = 1; i <= n - 2; i++){
for (int j = i + 1; j <= n - 1; j++){
int st = j, pas = (1 << 15);
while (pas != 0){
if (st + pas <= n && v[st + pas] <= v[i] + v[j])
st += pas;
pas /= 2;
}
sol += st - j;
}
}
fout << sol;
return 0;
}