Cod sursa(job #2665037)

Utilizator cezarinfoTulceanu Cezar cezarinfo Data 29 octombrie 2020 22:11:40
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.15 kb
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
FILE*in=fopen("loto.in","r");
FILE*out=fopen("loto.out","w");
int n,s,i,j,k,v[103],st=0,dr;
struct ras
{
    int p,a,b,c;
};
vector<ras> vect;
bool sor(ras x,ras y)
{
    return x.p<y.p;
}
ras mem;
int main()
{
    fscanf(in,"%d%d",&n,&s);
    for(i=1;i<=n;i++)
    {
        fscanf(in,"%d",&v[i]);
    }
    for(i=1;i<=n;i++)
    {
        for(j=i;j<=n;j++)
        {
            for(k=j;k<=n;k++)
            {
                mem.a=i;
                mem.b=j;
                mem.c=k;
                mem.p=v[i]+v[j]+v[k];
                vect.push_back(mem);
            }
        }
    }
    dr=vect.size()-1;
    sort(vect.begin(),vect.end(),sor);
    while(st<=dr)
    {
        if(vect[st].p+vect[dr].p<s)
        {
            st++;
            continue;
        }
        if(vect[st].p+vect[dr].p>s)
        {
            dr--;
            continue;
        }
        fprintf(out,"%d %d %d %d %d %d",v[vect[st].a],v[vect[st].b],v[vect[st].c],v[vect[dr].a],v[vect[dr].b],v[vect[dr].c]);
        return 0;
    }
    fprintf(out,"-1\n");
}