Pagini recente » Cod sursa (job #584095) | Cod sursa (job #2644618) | Cod sursa (job #168935) | Cod sursa (job #264767) | Cod sursa (job #2862095)
#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++)
{
int maxm=0;
for (int j=0; j<i; j++)
{
if(maxm<v[j])
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;
}