Cod sursa(job #2194503)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 13 aprilie 2018 16:59:47
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int n,s,v[101],h[4],c,i,j,k,l,ok,p,mid,st,dr,m,nr;
struct meme{
    int S,a,b,c;
}a[1000001];
int cmp(meme a,meme b){
    return a.S<b.S;
}
int main()
{   f>>n>>s;
    for(i=1;i<=n;i++)
        f>>v[i];

    for(i=1;i<=n;i++)
    for(j=i;j<=n;j++)
    for(k=j;k<=n;k++){
        a[++nr].S=v[i]+v[j]+v[k];
        a[nr].a=v[i];
        a[nr].b=v[j];
        a[nr].c=v[k];
    }
sort(a+1,a+nr+1,cmp);
    for(i=1;i<=nr;i++){
        m=s-a[i].S;
        st=1;dr=nr;
        while(st<=dr){
            mid=(st+dr)/2;
            if(a[mid].S<m)
                st=mid+1;
            else
                if(a[mid].S>m)
                    dr=mid-1;
            else{
                p=mid;
                break;
            }
        }
        if(p!=0){
            g<<a[i].a<<' '<<a[i].b<<' '<<a[i].c<<' '<<a[p].a<<' ';
            g<<a[p].b<<' '<<a[p].c;
            return 0;
        }
    }
    g<<-1;
    return 0;
}