Cod sursa(job #3239308)

Utilizator nicushor21Pirlog Marian Nicolae nicushor21 Data 4 august 2024 13:31:10
Problema Loto Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int sol[7],s,n,i,j,v[101],aux,st,dr,mid,x;
int main()
{
    fin>>n>>s;
    for(i=0;i<n;i++)
        fin>>v[i];
    sort(v,v+n);
    for(int i1=0;i1<n;i1++){
        for(int i2=0;i2<n;i2++){
            for(int i3=0;i3<n;i3++){
                aux = v[i1]+v[i2]+v[i3];
                i=0; j=n-1;
                while(i<=j){
                    x = s-aux-v[i]-v[j];
                    st=0; dr=n-1;
                    while(st<=dr){
                        mid = (st+dr)/2;
                        if(v[mid] == x)
                            break;
                        if(v[mid] < x)
                            st = mid+1;
                        else
                            dr = mid-1;
                    }
                    if(v[mid] == x){
                        fout<<v[i1]<<' '<<v[i2]<<' '<<v[i3]<<' '<<v[i]<<' '<<v[j]<<' '<<v[mid];
                        return 0;
                    }
                    if(v[mid] < x)
                        i++;
                    else
                        j--;
                }
            }
        }
    }
    fout<<-1;
    return 0;
}