Cod sursa(job #2744756)

Utilizator AlexandraBoghiuAlexandra Boghiu AlexandraBoghiu Data 25 aprilie 2021 01:51:24
Problema Loto Scor 25
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 1.32 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream F ("loto.in");
ofstream G ("loto.out");
struct sumastruct
{
    int t1, t2, t3, stotal;
} suma[1000005];
bool cmp(sumastruct a, sumastruct b)
{
    return a.stotal < b.stotal;
}
int main()
{
    int n, s, v[105], 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 = 1; j < n; j++)
                for(int k = 1; 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;
}