Cod sursa(job #3239573)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 6 august 2024 16:11:47
Problema Oite Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <algorithm>
#include <queue>
#include <set>
using namespace std;
ifstream cin("oite.in");
ofstream cout("oite.out");

int n,L,v[1027];
long long sol;
int main()
{
    cin>>n>>L;
    for(int i=1; i<=n; i++)
        cin>>v[i];
    sort(v+1,v+n+1);
    for(int i=1; i<=n; i++)
        for(int j=i+1; j<=n; j++)
            for(int k=j+1; k<=n; k++)
            {
                int aux=L-v[i]-v[j]-v[k];
                int st=k+1,dr=n;
                while(st<=dr)
                {
                    int mid=(st+dr)/2;
                    if(v[mid]==aux)
                    {
                        sol++;
                        break;
                    }
                    else if(v[mid]>aux)
                        dr=mid-1;
                    else
                        st=mid+1;
                }
            }
    cout<<sol;
    return 0;
}