Cod sursa(job #2623021)

Utilizator paulvlad43Vlad Paul Munteanu paulvlad43 Data 2 iunie 2020 14:33:42
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.17 kb
#include<bits/stdc++.h>
#include<fstream>
#include<iostream>
#include <queue>
using namespace std;
ifstream f("loto.in");
ofstream f1("loto.out");



int main(){	
	int n,s;
	f>>n>>s;
	int v[n];
	vector <int> folosite;
	
	for (int i=0;i<n;i++)
		f>>v[i];
		
	sort(v,v+n);
	 
	 int i=n-1;
	 while (s<v[i]*6){
	 	i--;
	 }
	 while (s!=0 && i!=-1){
	 	if (s>v[i]){
	 		s-=v[i];
	 		folosite.push_back(v[i]);
		 }
		 else{
		 	i--;
		 }
	 }
	 if (folosite.size()==5){

		 for (int k=0;k<n-1;k++){
		 	for (int k1=k+1;k1<n;k1++){
		 		
		 		if (v[k1]+v[k]==s+folosite[folosite.size()-1]){
		 			folosite[folosite.size()-1]=v[k1];
		 			folosite.push_back(v[k]);
		 			i=0;
				 }
			 }
		 }
	}
	
	
	if (folosite.size()==6){
		for (int k=0;k<n;k++){
			if (v[k]==s+folosite[folosite.size()-1]){
				folosite[folosite.size()-1]=v[k];
				i=0;
			}
		}
	}
	 
	 
	 
	 
	 
	 
	 
	 for (int j=0;j<folosite.size();j++)
	 		cout<<folosite[j]<<" ";
	 
	 
	 
	 
	 if (i==-1){
	 	f1<<-1;
	 	cout<<-1;
	 }
	 else{
	 	for (int j=0;j<folosite.size();j++){
	 		f1<<folosite[j]<<" ";
	 		cout<<folosite[j]<<" ";
	 	}
	 	
	 }
	
	
	
	
}