listasumas.cpp
#define USECHRONO
#include <cassert>
#include <climits>
#include <cstdlib>
#include <stack>
#include <map>
#include <numeric>
#include "eval.hpp"
/* COMIENZO DE DESCRIPCION
__USE_WIKI__
Dada una lista #L,# encuentre y retorne la sublista cuya
suma sea #S.# Si no existe ninguna sublista con dicha suma,
retorne la lista vacia. En caso de haber varias listas
que cumplan retorne la primera y la mas corta.
[Tomado en el Trabajo Practico de Laboratorio 1
(TPL1) de 2020-09-24]
keywords: lista
FIN DE DESCRIPCION */
using namespace aed;
using namespace std;
list<int> listaSumaS(list<int>& L, int S){
list<int> R;
if(S==0) return R;
list<int>::iterator it = L.begin();
while(it!=L.end()){
int acum = 0;
auto it2 = it;
while(it2!=L.end()){
acum += *it2;
if(acum==S){
R.insert(R.begin(),it,++it2);
return R;
}
it2++;
}
it++;
}
}
//---:---<*>---:---<*>---:---<*>---:---<*>---:---<*>
int main() {
Eval ev;
int vrbs = 0;
ev.eval<1>(listaSumaS,vrbs);
return 0;
}
Generated by GNU Enscript 1.6.6.