Cod sursa(job #1928919)

Utilizator MihaelaCismaruMihaela Cismaru MihaelaCismaru Data 16 martie 2017 21:35:47
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.56 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
int n,suma,sum,g,s[100000001],v[1001],st,dr,mid,i,j,k,a,b,c,ok,da,i1,i2;
int main(){
    in>>n>>suma;
    for(i=1;i<=n;i++){
        in>>v[i];
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            for(k=1;k<=n;k++){
                g++;
                s[g]=v[i]+v[k]+v[j];
            }
        }
    }
    sort(s+1,s+g+1);
    for(i1=1,i2=g;i1<=g;i1++){
        while(s[i1]+s[i2]>suma){
            i2--;
        }
        if(s[i1]+s[i2]==suma){
            a=s[i1];
            b=s[i2];
            ok=1;
            break;
        }
    }
    if(ok==0){
        out<<-1;
    }
    else{
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            for(k=1;k<=n;k++){
                if(v[i]+v[j]+v[k]==a){
                    da=1;
                    out<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                    break;
                }
            }
            if(da==1){
                break;
            }
        }
        if(da==1){
            break;
        }
    }
    da=0;
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            for(k=1;k<=n;k++){
                if(v[i]+v[j]+v[k]==b){
                    da=1;
                    out<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                    break;
                }
            }
            if(da==1){
                break;
            }
        }
        if(da==1){
            break;
        }
    }
    }
    return 0;
}