Pagini recente » Cod sursa (job #1586295) | Cod sursa (job #1838931) | Cod sursa (job #100446) | Cod sursa (job #1712233) | Cod sursa (job #2862090)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
vector<int>v;
vector<int>kiir;
int beff[100001];
int place[100001];
int maxmplace;
int maxmindex;
int main()
{
int n;
f>>n;
for (int i=0; i<n; i++)
{
int a;
f>>a;
v.push_back(a);
}
f.close();
for (int i=0; i<n; i++)
{
for (int j=0; j<i; j++)
{
if(v[j]<v[i])
beff[i]=beff[j];
}
}
/*for (int i=0;i<n;i++){
cout<<beff[i]<<" ";
}
cout<<endl;
for (int i=0;i<n;i++){
cout<<place[i]<<" ";
}
cout<<endl;*/
g<<++maxmplace;
g<<endl;
kiir.push_back(v[maxmindex]);
while(place[maxmindex]!=0)
{
maxmindex=beff[maxmindex];
kiir.push_back(v[maxmindex]);
}
for (int i : kiir)
{
g<<kiir.back()<<" ";
kiir.pop_back();
}
g.close();
return 0;
}