Cod sursa(job #2086139)

Utilizator alexilasiAlex Ilasi alexilasi Data 11 decembrie 2017 16:05:33
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
#define mod 666013

using namespace std;

ifstream fin("loto.in");
ofstream fout("loto.out");

int i,j,k,n,m,s,x,poz,a[100];

struct structura{int v,n1,n2,n3;}v[1000001];

int comp(structura a,structura b){return a.v<b.v;}

int main()
{
    fin>>n>>s;
    for(i=0;i<n;i++)
        fin>>a[i];
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            for(k=0;k<n;k++)
            {
                v[++m].v=a[i]+a[j]+a[k];
                v[m].n1=i+1;
                v[m].n2=j+1;
                v[m].n3=k+1;
            }
    sort(v+1,v+m+1,comp);
    for(i=1;i<=m/2+1;i++)
    {
        x=s-v[m].v;
        poz=0;
        for(j=1;j<m;j<<=1);
        for(;j;j>>=1)
            if(poz+j<=m&&v[poz+j].v<=x)
                poz+=j;
        if(v[poz].v==x)
        {
            fout<<a[v[i].n1]<<" "<<a[v[i].n2]<<" "<<a[v[i].n3]<<" "<<a[v[poz].n1]<<" "<<a[v[poz].n2]<<" "<<a[v[poz].n3];
            return 0;
        }
    }
    fout<<-1;
    return 0;
}