Cod sursa(job #1010961)

Utilizator Catalina_BrinzaBrinza Catalina Catalina_Brinza Data 15 octombrie 2013 23:05:09
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.34 kb
//
//  main.cpp
//  loto
//
//  Created by Catalina Brinza on 10/15/13.
//  Copyright (c) 2013 Catalina Brinza. All rights reserved.
//

#include <iostream>
#include <fstream>
using namespace std;
struct sume
{
    int s,b,c;
};
int main()
{int N,S,a[100],i;
    ifstream f("loto.in");
    ofstream g("loto.out");
    f>>N>>S;
    for (i=0;i<N;i++)
        f>>a[i];

    struct sume v[325000];
    int m=0;
    int ok=0;
    for (i=0;i<N;i++)
        if (ok==0)
        for (int j=0;j<N;j++)
            if (ok==0)
                for (int k=0;k<N;k++)
                if (a[i]+a[j]+a[k]<S)
                {
                    v[m].s=a[i]+a[j]+a[k];
                    v[m].b=a[i];
                    v[m].c=a[j];
                    m++;
                    
                }
    else if ((2*a[i]+2*a[j]+2*a[k])==S)
    {
        g<<a[i]<<' '<<a[i]<<' '<<a[j]<<' '<<a[j]<<' '<<a[k]<<' '<<a[k]<<endl;
        break;
        ok=1;
    };
    if (ok!=1)
        for (i=0;i<m;i++)
            for (int j=0;j<m;j++)
                if (ok==0)
                if (v[i].s+v[j].s==S)
                {
                    g<<v[i].b<<' '<<v[i].c<<' '<<v[i].s-v[i].b-v[i].c<<' ' <<v[j].b<<' '<<v[j].c<<' '<<v[j].s-v[j].b-v[j].c<<endl;
                    ok=1;
                    break;
                }
    if (ok==0) g<<"-1";
    f.close();
    g.close();
    return 0;
}