Pagini recente » Cod sursa (job #2021235) | Cod sursa (job #1523690) | Cod sursa (job #545168) | Cod sursa (job #1515491) | Cod sursa (job #1458796)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in("scmax.in");
ofstream out("scmax.out");
const int NR_MAX = 100001;
int nr_numere, nr_numere_max, nr_1, nr_2, nr_total, max_nr = 0, begin, end;
int begin_max, end_max;
int numere[NR_MAX];
int secventa[NR_MAX];
in >> nr_total;
for (int i = 0; i < NR_MAX; i++)
secventa[i] = 1;
in >> nr_1;
numere[0] = nr_1;
begin = 0;
nr_numere = 1;
nr_numere_max = 0;
for (int i = 1; i < nr_total; i++)
{
in >> nr_2;
numere[i] = nr_2;
if (nr_1 <= nr_2)
{
end = i;
nr_numere++;
}
if (nr_numere_max < nr_numere)
{
nr_numere_max = nr_numere;
begin_max = begin;
end_max = end;
}
if (nr_1 > nr_2)
{
begin = i;
nr_numere = 1;
}
nr_1 = nr_2;
}
begin = begin_max;
end = end_max;
nr_numere = 0;
for (int i = begin; i <= end; i++)
{
if (secventa[numere[i]] == 1)
{
secventa[numere[i]] = 0;
nr_numere++;
}
}
out << nr_numere << "\n";
for (int i = 0; i < NR_MAX; i++)
secventa[i] = 1;
for (int i = begin; i <= end; i++)
{
if (secventa[numere[i]] == 1)
{
out << numere[i] << " ";
secventa[numere[i]] = 0;
}
}
return 0;
}