Cod sursa(job #1089025)

Utilizator Mitsa3Neamt Mihai Mitsa3 Data 21 ianuarie 2014 09:33:32
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.31 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstdlib>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
#define MAX 103
int a[MAX], v[MAX*MAX*MAX];
int main()
{
    int n, s, k = 1;
    fin >> n >> s;
    for(int i = 1; i<=n; i++)
        fin >> a[i];
    for(int i = 1; i<=n; i++)
        for(int j = 1; j<=n; j++)
            for(int z = 1; z<=n; z++) {
                v[k] = a[i] + a[j] + a[z];
                k++;
        }
    k--;
    sort(a+1,a+n+1);
    bool ok=1,ko=1;
    for(int i = 1; i<=k; i++)
        for(int j = k; j>=i; j--)
        {

            if(s-v[j]==v[i])
            {for(int i1=1; i1<=n; i1++)
                for(int i2=1; i2<=n; i2++)
                    for(int i3=1; i3<=n; i3++){
                    if(ok==1)
                        if(a[i1]+a[i2]+a[i3]==v[i]) {
                            fout << a[i1] << " " << a[i2] << " " << a[i3] << " ";ok=0;}

                    if(ko)
                    if(a[i1]+a[i2]+a[i3]==v[j]) {
                        fout << a[i1] << " " << a[i2] <<" " << a[i3] << " "; ko=0;
                        }
                    if(ko==0&&ok==0)
                        goto mihai;
                    }
            }

        }
    fout << -1 << "\n";
    mihai:
    return 0;
}