Cod sursa(job #2035650)

Utilizator Dinu2005Dinu I Dinu2005 Data 9 octombrie 2017 18:43:24
Problema Loto Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <iostream>
#include <fstream>
#include <map>
using namespace std;
struct loto{
    int nr1,nr2,nr3;
};
map <int,loto> m;
int a[105];
int main()
{
    ifstream cin("loto.in");
    ofstream cout("loto.out");
    int n,i,j,k,s,max,min;
    cin>>n>>s;
    cin>>a[1];
    max=a[1];
    min=a[1];
    for(i=2;i<=n;++i){
        cin>>a[i];
        if(a[i]>max)
            max=a[i];
        if(a[i]<min)
            min=a[i];
    }
    if(max*6<s || min*6>s){
        cout<<-1;
        return 0;
    }
    for(i=1;i<=n;++i){
        for(j=i;j<=n;++j)
            for(k=j;k<=n;++k){
                loto x;
                x.nr1=a[i];
                x.nr2=a[j];
                x.nr3=a[k];
                m[a[i]+a[j]+a[k]]=x;
            }
    }
     for(i=1;i<=n;++i){
        for(j=1;j<=n;++j){
            for(k=1;k<=n;++k){
                if(m[s-a[i]-a[j]-a[k]].nr1>=1){
                    cout<<a[i]<<" "<<a[j]<<" "<<a[k]<<" "<<m[s-a[i]-a[j]-a[k]].nr1<<" "<<m[s-a[i]-a[j]-a[k]].nr2<<" "<<m[s-a[i]-a[j]-a[k]].nr3;
                    return 0;
                }
            }
        }
    }
    cout<<-1;
    return 0;
}