Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 841 Bete2 : Martie 24, 2016, 15:53:21
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int v[3000];
int main()
{
    ifstream in("bete2.in");
    ofstream out("bete2.out");
    int n,s,start=1,endd,m=0;
    in>>n;
    for(int i=1; i<=n; i++)
    {
        in>>v;
    }
    int ct=0;
    sort(v+1,v+n+1);
    for(int j=1; j<=n; j++)
    {
        for(int k=j+1; k<=n; k++)
        {
            s=v[j]+v[k];
            start=1;
            endd=n;
            while(start<=endd)
            {
                int mij=(start+endd)/2;
                if(v[mij]==s)
                {
                    ct++;
                    break;
                }
                else if(v[mij]<s)
                {
                    start=mij+1;
                }
                else endd=mij-1;
            }
        }
    }
    out<<ct<<"\n";
} Smile
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines