Cod sursa(job #2975779)

Utilizator carinamariaCarina Maria Viespescu carinamaria Data 7 februarie 2023 15:46:52
Problema Loto Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
int i, j, n, m, st, dr, k, sum, S, mid, K;
int v[101];
struct grupa{
    int suma;
    int nr1;
    int nr2;
    int nr3;
} s[1000002];
int main() {
    cin>>n>>S;
    for(i=1;i<=n;i++)
        cin>>v[i];
    for(i=1;i<=n;i++){
        for(j=i;j<=n;j++){
            for(k=j;k<=n;k++){
                s[++K].suma=v[i]+v[j]+v[k];
                s[K].nr1=v[i];
                s[K].nr2=v[j];
                s[K].nr3=v[k];
            }
        }
    }
    for(i=1;i<=K;i++){
        st=1;
        dr=K;
        sum=s[i].suma;
        while(st<=dr){
            mid=(st+dr)/2;
            if(s[mid].suma+sum>S)
                dr=mid-1;
            else if(s[mid].suma+sum<S)
                st=mid+1;
            else {
                cout<<s[i].nr1<<" "<<s[i].nr2<<" "<<s[i].nr3<<" "<<s[mid].nr1<<" "<<s[mid].nr2<<" "<<s[mid].nr3;
                return 0;
            }
        }
    }
    cout<<-1;
}