Cod sursa(job #1999301)

Utilizator Vlad3108Tir Vlad Ioan Vlad3108 Data 10 iulie 2017 20:47:38
Problema Loto Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <bits/stdc++.h>
#define LMAX 300000005
using namespace std;
bitset <LMAX> ap;
int v[105];
int main(){
    freopen("loto.in","r",stdin);
    freopen("loto.out","w",stdout);
    int n,s,aux;
    scanf("%d %d",&n,&s);
    for(int i=1;i<=n;++i)
        scanf("%d",&v[i]);
    for(int i=1;i<=n;++i)
        for(int j=i;j<=n;++j)
            for(int k=j;k<=n;++k)
                ap[v[i]+v[j]+v[k]]=1;
    for(int i=1;i<=n;++i)
        for(int j=i;j<=n;++j)
            for(int k=j;k<=n;++k){
                if(s-v[i]-v[j]-v[k]>0&&ap[s-v[i]-v[j]-v[k]]){
                    printf("%d %d %d ",v[i],v[j],v[k]);
                    for(int i2=1;i2<=n;++i2)
                        for(int j2=i2;j2<=n;++j2)
                            for(int k2=j2;k2<=n;++k2)
                                if(v[i2]+v[j2]+v[k2]==s-v[i]-v[j]-v[k]){
                                    printf("%d %d %d\n",v[i2],v[j2],v[k2]);
                                    return 0;
                                }
                }
            }
    printf("-1\n");
    fclose(stdin);fclose(stdout);
    return 0;
}