Cod sursa(job #2744729)

Utilizator AlexandraBoghiuAlexandra Boghiu AlexandraBoghiu Data 25 aprilie 2021 00:56:24
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <bits/stdc++.h>
using namespace std;
ifstream F ("loto.in");
ofstream G ("loto.out");
struct sumastruct
{
    int t1, t2, t3, stotal;
} suma[1000000];
bool cmp(sumastruct a, sumastruct b)
{
    return a.stotal < b.stotal;
}
int main()
{
    int n, s, v[100], p = -1;
    F>>n>>s;
    for(int i = 0; i < n; i++)
        F>>v[i];
    for(int i = 0; i < n; i++)
        for(int j = i; j < n; j++)
            for(int k = j; k < n; k++)
            {
                p++;
                suma[p].t1 = v[i];
                suma[p].t2 = v[j];
                suma[p].t3 = v[k];
                suma[p].stotal = suma[p].t1 + suma[p].t2 + suma[p].t3;

            }
    int st = 0;
    int dr = p - 1;
    int ok = 0;
    sort(suma, suma + p, cmp);
    while(st < dr)
    {
        if(suma[st].stotal + suma[dr].stotal == s)
        {
            G<<suma[st].t1<<" "<<suma[st].t2<<" "<<suma[st].t3<<" "<<suma[dr].t1<<" "<<suma[dr].t2<<" "<<suma[dr].t3;
            ok = 1;
            break;
        }
        else if(suma[st].stotal + suma[dr].stotal < s)
            st++;
        else
            dr--;
    }
    if(ok == 0)
        G<<-1;



    return 0;
}