Pagini recente » Cod sursa (job #2509502) | Cod sursa (job #1030122) | Cod sursa (job #2024823) | Cod sursa (job #1186760) | Cod sursa (job #2621749)
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <fstream>
#define MAXX 101
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct loto
{
long long unu,doi,trei,suma;
} Bilet[MAXX];
int amax,N,i,k,V[MAXX],A[10];
long long Sum;
int main()
{
f >> N >> Sum;
for(i=1; i<=N; i++)
f >> V[i];
for(int i=1; i<=N; i++)
for(int j=i; j<=N; j++)
for(int l=j; l<=N; l++)
{
Bilet[++k].unu = i;
Bilet[k].doi = j;
Bilet[k].trei = l;
Bilet[k].suma = i + j + l;
}
for(int i=1; i<N; i++)
for(int j=i+1; j<=N; j++)
if(Bilet[i].suma>Bilet[j].suma)
swap(Bilet[i],Bilet[j]);
int st = 1;
int dr = k;
while(st!=dr)
{
if(Bilet[st].suma+Bilet[dr].suma<Sum)
st++;
else if(Bilet[st].suma+Bilet[dr].suma>Sum)
dr++;
else if(Bilet[st].suma+Bilet[dr].suma==Sum)
{
A[1] = Bilet[st].unu;
A[2] = Bilet[st].doi;
A[3] = Bilet[st].trei;
A[4] = Bilet[dr].unu;
A[5] = Bilet[dr].doi;
A[6] = Bilet[dr].trei;
sort(A+1,A+7);
for(int i=1;i<=6;i++)
g << A[i] << " ";
return 0;
}
}
g << "-1";
return 0;
}