Pagini recente » Cod sursa (job #2369671) | Cod sursa (job #2305528) | Cod sursa (job #1985159) | Cod sursa (job #481675) | Cod sursa (job #1560005)
#include <fstream>
#include <deque>
#include <iostream>
using namespace std;
int N, V[100000];
int main() {
freopen("scmax.in", "r", stdin);
freopen("scmax.out", "w", stdout);
scanf("%d", &N);
deque<int> dq;
dq.push_back(0);
int diff = 0;
int elem;
for(int i = 0; i < N; i++) {
scanf("%d", &elem);
while(i > 0 && V[i-1] == elem) {
scanf("%d", &elem);
N--;
}
V[i] = elem;
if(i > 0 && V[i-1] > V[i]) {
if(dq.size() == 2) {
if((i-dq[1]) > diff) {
//cout << "popping out: " << dq.front() << endl;
dq.pop_front();
//cout << "pushing in: " << i << endl;
dq.push_back(i);
diff = dq[1] - dq[0];
}
} else {
dq.push_back(i);
//cout << "pushing in: " << i << endl;
diff = dq[1] - dq[0];
}
}
}
printf("%d", diff);
cout << endl;
for(int i = dq[0]; i < dq[1]; i++) {
printf("%d", V[i]);
printf("%c", ' ');
}
return 0;
}