Cod sursa(job #2740566)

Utilizator andreea.ioanaSora Andreea-Ioana andreea.ioana Data 13 aprilie 2021 16:06:19
Problema Loto Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.31 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int v[200],p[200],i,j,k,n,s,t=0,suma;
int cauta (int suma, int p[200])
{
    int st=0,mij,dr=t-1;
    while (st<=dr)
    {
        mij=(st+dr)/2;
        if (p[mij]==suma) return 1;
        else if (suma<p[mij]) dr=mij-1;
              else st=mij+1;
    }
    return 0;
}
int main()
{
    ifstream f("loto.in");
    ofstream g("loto.out");
    f>>n>>s;
    for (i=0;i<n;i++) f>>v[i];
    for (i=0;i<n;i++)
        for (j=0;j<n;j++)
           for (k=0;k<n;k++)
           {
            p[t]=v[i]+v[j]+v[k];
            t++;
           }
    sort(p,p+t);
    for (i=0;i<n;i++)
        for (j=0;j<n;j++)
           for (k=0;k<n;k++)
           {
               suma=s-v[i]-v[j]-v[k];
               if(cauta(suma,p)!=0)
               {
                   g<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                    for (i=0;i<n;i++)
                      for (j=0;j<n;j++)
                        for (k=0;k<n;k++)
                          if (v[i]+v[j]+v[k]==suma)
                         {
                           g<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                           return 0;
                         }
               }
           }
    g<<-1;
    f.close();
    g.close();
    return 0;
}