Cod sursa(job #2405426)

Utilizator mihaistamatescuMihai Stamatescu mihaistamatescu Data 14 aprilie 2019 14:54:42
Problema Loto Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.43 kb
#include <fstream>
#include <algorithm>
using namespace std;
int n,sum,i,j,x,k,q,p,st,dr,val,mid,v[110];
int main (){
    ifstream fin ("loto.in");
    ofstream fout ("loto.out");
    fin>>n>>sum;
    for (i=1;i<=n;i++){
        fin>>x;
        if (x<=sum){
            v[++k]=x;
        }
    }
    n=k;
    /***for (i=1;i<=n;i++){
        for (j=i;j<=n;j++){
            for (k=i;k<n;k++){
                s[++a].suma=v[i]+v[j]+v[k];
                s[a].
            }

        }
    }*/
    for (i=1;i<=n;i++){
        for (j=1;j<=n;j++){
            for (k=1;k<=n;k++){
                for (q=1;q<=n;q++){
                    for (p=1;p<=n;p++){
                        st=1;
                        dr=n;
                        val=sum-v[i]-v[j]-v[k]-v[q]-v[p];
                        while (st<=dr){
                            mid=(st+dr)/2;
                            if (v[mid]==val){
                                fout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" "<<v[q]<<" "<<v[p]<<" "<<v[mid];
                                return 0;
                            }
                            if (v[mid]<val){
                                st=mid+1;
                            }
                            if (v[mid]>val){
                                dr=mid-1;
                            }
                        }
                    }
                }
            }
        }
    }
    fout<<-1;
}