Cod sursa(job #2065200)

Utilizator lucia.cstCostache Lucia lucia.cst Data 13 noiembrie 2017 16:06:30
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
#include<algorithm>

using namespace std;

ifstream cin("nrtri.in");
ofstream cout("nrtri.out");

const int MAX=1e4+1;

int n, v[MAX], r, maxm, ans;

int main(){
    cin>>n;
    for(int i=1; i<=n; i++)
        cin>>v[i];
    sort(v+1, v+n+1);
    int pas=1<<9;

    for(int i=1; i<=n; i++)
        for(int j=i+1; j<=n; j++){
                r=0;
                pas=1<<9;
                while(pas!=0){
                    if(r+pas<=n && v[r+pas]<=v[i]+v[j]){
                        r+=pas;
                    }
                    pas/=2;
                }
                if(r>j)
                    ans+= r - j;

        }
    cout<<ans;
    return 0;
}