Pagini recente » Cod sursa (job #1968163) | Cod sursa (job #86154) | Cod sursa (job #2659146) | Cod sursa (job #2932312) | Cod sursa (job #775706)
Cod sursa(job #775706)
#include <fstream>
#include <algorithm>
#define NMAx 110
#define MMAx 1000100
using namespace std;
int N,S,Nr,A[NMAx],B[MMAx],Used[3][MMAx];
void Afis(int i,int j) {
ofstream out("loto.out");
if(i==-1)
out<<"-1\n";
else {
for(int k=0;k<=2;out<<Used[k++][i]<<' ');
for(int k=0;k<=2;out<<Used[k++][j]<<' ');
out<<'\n';
}
out.close();
}
void Solve() {
int i,j,k;
for(i=1;i<=N;i++)
for(j=i;j<=N;j++)
for(k=j;k<=N;k++) {
B[++Nr]=A[i]+A[j]+A[k];
Used[0][Nr]=i;
Used[1][Nr]=j;
Used[2][Nr]=k;
}
sort(B+1,B+Nr+1);
for(i=1,j=Nr;i<=j;) {
while(B[i]+B[j]>S) j--;
while(B[i]+B[j]<S) i++;
if(B[i]+B[j]==S) {
Afis(i,j);
return;
}
}
Afis(-1,-1);
}
void Citire() {
ifstream in("loto.in");
in>>N>>S;
for(int i=1;i<=N;in>>A[i++]);
in.close();
}
int main() {
Citire();
Solve();
return 0;
}