//Longest ascending subsequence #include < fstream> #include < iostream> #include < vector> using namespace std; vector< int> vPred; vector< int> a,v; int imax; void readData(ifstream& in) { int aux; int i=1; while(!in.eof()) { in > > aux; a.push_back(aux); //Az a vektorba lessz az eredeti sorozat } } void process() { int j,i,n; v.push_back(1); //A legelso elemnel 1 a hossza a sorozatnak vPred.push_back(-1); //A legelso elem elott nincs semmi imax=0; n=(int) a.size(); for(i=1;iv[i]) // novekvo legyen es nagyobb mint az eddigi maximalis { v[i]=v[j]+1; //noveljuk vPred[i]=j; //megjegyezuk a helyet hogy majd visszakereshessuk } } if(v[i]>v[imax]) imax=i; //uj maximalis ertekunk van, megjegyezzuk } } void recoverSubstring(int i, ofstream &out) { //out << "Recovering substring..."<"<"<