Cod sursa(job #1837257)

Utilizator ApostolIlieDanielApostol Daniel ApostolIlieDaniel Data 29 decembrie 2016 13:26:47
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>

using namespace std;
int v[801];
int main()
{
    FILE *fin,*fout;
    int n,i,j,u,max,p,s,k;
    fin=fopen("nrtri.in","r");
    fout=fopen("nrtri.out","w");
    fscanf(fin,"%d",&n);
    for(i=1;i<=n;i++)
        fscanf(fin,"%d",&v[i]);
    for(u=n;u>1;u--)
    {
        max=v[1];
        p=1;
        for(i=2;i<=u;i++)
            if(v[i]>max)
            {
                max=v[i];
                p=i;
            }
        v[p]=v[u];
        v[u]=max;
    }
    s=0;
    for(i=1;i<=n;i++)
    {
        k=i+2;
        for(j=i+1;j<=n;j++)
        {
            while(k<=n&&v[i]+v[j]>=v[k])
                k++;
            if(j<=k)
                s=s+k-j-1;
        }
    }
    fprintf(fout,"%d\n",s);
    fclose(fin);
    fclose(fout);
    return 0;
}