Pagini recente » Cod sursa (job #3194265) | Cod sursa (job #669981) | Cod sursa (job #645114) | Cod sursa (job #163184) | Cod sursa (job #978695)
Cod sursa(job #978695)
#include<fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[100], best[100], i, j, n;
int main() {
fin >> n;
for (i = 0; i < n; i++)
fin >> v[i];
for (i = 0; i < n; i++)
best[i] = 1;
for (i = 1; i < n; i++) {
for (j = i + 1; j < n; j++) {
if (v[j] > v[i] and best[j] < best[i] + 1)
best[j] = best[i] + 1;
}
}
// for (i = 0; i < n; i++)
// fout << best[i];
int maxi = -1; int p;
for (i = 0; i < n; i++){
if (best[i] > maxi){
maxi = best[i];
p = j;
}
}
fout << maxi << '\n';
int t = maxi; int ant = 99999; int i1 = 0; int b[1000];
while (t >= 1){
i = 0;
while (best[i] != t)
i++;
while (v[i] > ant)
i++;
//fout << v[i] << " ";
b[i1] = v[i]; i1++;
ant = v[i];
t--;
}
for (i = i1 - 1; i >= 0; i--)
fout << b[i] << " ";
}