Cod sursa(job #1150933)

Utilizator TibixbAndrei Tiberiu Tibixb Data 23 martie 2014 18:37:36
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
#include<algorithm>
using namespace std;
int x[803], i, j, n, p, p1, u, u1, ok, mij, sol, s, d;
int mod(int x){
    return (x>0?x:-x);
}
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int main(){
    in>>n;
    for(i=1; i<=n; i++)
        in>>x[i];
    sort(x+1, x+n+1);
    for(i=1; i<=n-2; i++){
        for(j=i+1; j<=n-1; j++){
            p=j+1; u=n;
            s=x[i]+x[j];
            while(p<=u){
                mij=p+(u-p)/2;
                if(x[mij]<=s)
                    p=mij+1;
                else
                    u=mij-1;
            }
            sol+=u-j;
        }
    }
    out<<sol;
return 0;
}